 PRPALIN - Editorial

#1

Practice

Editorialist: SUSHANT AGARWAL

SIMPLE

PREREQUISITES:

Basic looping,Conditional statements

PROBLEM:

You will be given an integer N, 1 ≤ N ≤ 1000000. You must find
the smallest integer M ≥ N such that M is a prime number and M is a
palindrome.

EXPLANATION:

Check every odd number after N (using a loop) for 2 properties

1)It should be prime 2) The number should be equal to its reverse.

Print the first number that satisfies these 2 properties and then break out of the loop when this number is encountered.

EDITORIALIST’S SOLUTION:

Editorialist’s solution can be found here.

#2

#include<stdio.h>
#include<math.h>
int check(int num)
{
int rev_num = 0;
while(num > 0)
{
rev_num = rev_num*10 + num%10;
num = num/10;
}
return rev_num;
}
int main()
{
int n,i;
scanf("%d",&n);
if(n==1)
{
printf("2
");
}
else if(n==2)
printf("3
“);
else{
if(n%2==0)
n++;
else
n=n+2;
do{
int x=sqrt(n);
for(i=3;i<=x;i++)
{
if(n%i==0)
break;
}
if(n%i!=0)
{ int j=check(n);
if(j==n)
{ printf(”%d
",n);
break;
}
}
n=n+2;
}while(1);
}
return 0;
}
why this not work

#3

The solution given in this editorial is wrong. For the input of 10010 it gives output 10201 but rather it should be 10301

#4

answer is right…10201 is smaller than 10301

#5

why my solution is going for tle,…
http://www.codechef.com/viewsolution/6782096

#6

10201 is divisible by 101
hence it is not a prime no
Hence the awnser for 10010 is 10301

#7

10201 is divisible by 101
hence it is not a prime no
Hence the answer for 10010 is 10301

#8

sir i have applied seive of atkins to found prime but still getting tle

#9

have u submitted it or checking it in codechef IDE?

#10

Serious issue - Editorialist’s solution is wrong as output for 10000 is 10201 which is 101^2.
This also means that the testcases are weak.

#11

Nice job, but please format your code if you want someone to be able to understand it easily - use for example this - http://prettyprinter.de/index.php

…after N…

is not correct, M >= N right?

#12