手机改mmd模型:一个素数,依次从个位去掉一位,二位…,所得仍是素数,叫超级素数.求[100,999]之内超级素数的各数(C语言代码)

来源:百度文库 编辑:高校问答 时间:2024/04/27 08:06:59

#include "math.h"
main()
{
int m,k,i,m1,k1,i1,m2,k2,i2;
for(m=101;m<=999;m=m+2)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0) break;

if(i>=k+1)
{m1=m/10;
k1=sqrt(m);
for(i1=2;i1<=k1;i1++)
if(m1%i1==0) break;
if(i1>=k1+1)
{ m2=m1/10;
if(m2<2)continue;
k2=sqrt(m2);
for(i2=2;i2<=k2;i2++)
if(m2%i2==0) break;
if(i2>=k2+1)
printf("%d ",m);

}
}
}
printf("\n");
}

结果是233,239,293,311,313,317,373...........

#include "math.h"
main()
{
int m,k,i,m1,k1,i1,m2,k2,i2,s=0;
for(m=101;m<=999;m=m+2)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0) break;

if(i>=k+1)
{m1=m/10;
k1=sqrt(m);
for(i1=2;i1<=k1;i1++)
if(m1%i1==0) break;
if(i1>=k1+1)
{ m2=m1/10;
if(m2<2)continue;
k2=sqrt(m2);
for(i2=2;i2<=k2;i2++)
if(m2%i2==0) break;
if(i2>=k2+1)
s=s+1;

}
}
}
printf("%d ",s);
}