|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
满足下列条件的自然数称为超级素数:该数本身、所有数字之和、所有数字之积以及所有数字 的平方和都是素数。例如113就是一个超级素数。求[100,999]之内:(1)超级素数的个数。(2)所有超级素数之和(3)最大的超级素数。
输入输出示例
NUM=3 SUM=555 MAX=311
我的代码:(运行的时候runtime)
#include<stdio.h>
int main()
{
int i,x1=0,x2=1,x3=0 ,num = 0, sum = 0, max = 0,f=0, r = 0, k , j,a,b,c;
for (i = 100; i <= 999; i++)
{
k = i;
x1 = 0;
x2 = 0;
x3 = 0;
for (; k != 0; k /= 10)
{
r = k % 10;
x1 += r;
x2 *= r;
x3 += r*r;
}
k = i;
for (j = 2; j < k; j++)
{
if (k%j == 0)
break;
}
if (j == k)
{
for (a = 2; a < x1; a++)
{
if (x1%a == 0)
break;
}
}
if (a == x1)
{
for (b = 2; b < x2; b++)
{
if (x2%b == 0)
break;
}
}
if (b == x2)
{
for (c = 2; c < x3; c++)
{
if (x3%c == 0)
break;
}
}
if (c == x3)
{
num++;
sum += i;
max = max > i ? max : i;
}
}
printf("num=%d, sum=%d, max=%d\n", num, sum, max);
return 0;
} |
|