c语言求三位数逆向超级素数

问题描述:

c语言求三位数逆向超级素数
一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:1不是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数.例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零.试求[100,999]之内的所有逆向超级素数的个数.
我编的不知道错在哪.
int Su(int m)
{int i,k,flag=1;
k=(int)sqrt(m);
for(i=2;i
1个回答 分类:综合 2014-12-11

问题解答:

我来补答
int n,a,b,c,count=0;
for(n=100;n
再问: 答案和我那个一样。。但是书上这题目的答案是39.。。。。
再答:
#include <stdio.h>
#include<math.h>
int Su(int m)
{
    int i,k,flag=1;
    k=(int) sqrt ((double)m);
    for(i=2;i<=k;i++)
    {
        if(m%i==0)
        {
            flag=0;
            break;
        }
        else
            flag=1;
    }
    return flag;
}
int main()
{
    int n,a,b,c,count=0;
    for(n=100;n<=999;n++)
    {
    b=n%100;
    c=n%10;
    if(b<=10||c==0)
        continue;
    else if(Su(n)&&Su(b)&&Su(c))
        count++;
    }
    printf("count=%d",count);
}

你执行下这个。。。。

再问: 还是57.。。。。。。
再答: - -!等下我想下边界 开始是1也是算成素数了 - -! if(
 
 
展开全文阅读
剩余:2000