用C++编写关于素数的程序(高手帮忙)

来源:百度知道 编辑:UC知道 时间:2024/05/21 09:12:19
编程求所有的3位数素数,且该素数是对称的。所谓“对称”只指一个数,倒过来还是该数。
例如,375不是对称数,因为倒过来编程了573,121就是对称的,倒过来还是121

希望用for循环做不要用到其他的如数组什么的,可以嵌套if语句
思路最好是:先列出所有3位数然后判断是否是素数,;有好方法也可以。
希望大家帮帮忙谢谢。

第一个是你要的思路,第二个是自己做的。

#include "stdio.h"
#include "math.h"
void main()
{
int i,j,k,n,l;
for(i=1;i<10;i+=2)
{
for(j=0;j<10;j++)
{
n=i*100+j*10+i;
l=sqrt(n)+1;
for(k=3;k<l;k+=2) if(n%k==0) break;
if(k>=l) printf("%d ",n);
}
}
}

#include "stdio.h"
#include "math.h"
bool Issymmetry(int m){return (m/100==m%10);}
void main()
{
int i,j,k;
for(i=101;i<1000;i+=2)
{
k=sqrt(i)+1;
for(j=3;j<k;j+=2) if(i%j==0) break;
if(j>=k && Issymmetry(i)) printf("%d ",i);
}
}