C++高手帮小弟看看这个程序怎么编?(关于素数)

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

#include <iostream>

using namespace std;
void fun(int i);

int main()
{

for (int i = 100; i < 1000; i++) //计算3位对称素数
{
fun(i);
}
return 0;
}

void fun(int i)
{
int k = 0;
int p = 0;
int g = 0;
for(int j = 1; j <= i; j++)
{

if (i % j == 0)
{
k++; //记录约数的个数
}

}
if (k <= 2) //约数在2以内则为素数
{
p = i / 100;
g = i % 100;
g = g % 10;
if (p == g) //判断是否对称
{
cout << i <<"\t"; //肯定则输出该数
}
}

}

好麻烦~

你先用求素数的算法求出三位数的素数