林无才 发表于 2016-5-28 19:51:40

关于素数问题【急~】

满足下列条件的自然数称为超级素数:该数本身、所有数字之和、所有数字之积以及所有数字 的平方和都是素数。例如113就是一个超级素数。求之内:(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;
}

林无才 发表于 2016-5-28 19:52:48

错在哪里

林无才 发表于 2016-5-28 19:55:08

哪位大神可以帮忙

林无才 发表于 2016-5-28 20:46:06

冷漠的人啊
页: [1]
查看完整版本: 关于素数问题【急~】