一个m(m>1)位素数,依次去掉最低一位数字,得到的都是素数,则该数称为超级素数。
声明函数f(n),参数n为自然数,函数返回n以内的超级素数的个数。
例如:20以内的超级素数的个数为0,100以内的超级素数的个数为9。
int isprime(int n)
{
int i;
if(n<=1)
return 0;
for(i=2;i*i<=n;i++)
if(n%i==0)
return 0;
return 1;
}
int issuper(int n)
{
while(n>0)
{
if(isprime(n))
{
n = n/10;
}
else
return 0;
}
return 1;
}
int f(int n)
{
int count =0;
for(int i=10;i<=n;i++)
if(issuper(i))
count++;
return count;
}
public class Text {
public static void main(String []args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int count = f(n);
System.out.println(count);
}