当前位置:  开发笔记 > 人工智能 > 正文

最后一步:添加反向也是素数的所有素数

如何解决《最后一步:添加反向也是素数的所有素数》经验,为你挑选了1个好方法。

像17,是一个素数,当逆转,71也是素数.

我们设法得到这个代码,但我们无法完成它.

#include 
main()
{
    int i = 10, j, c, sum, b, x, d, e, z, f, g;

    printf("\nPrime numbers from 10 to 99 are the follwing:\n");

    while (i <= 99)
    {
        c=0;

        for (j = 1; j <= i; j++)
        {
            if (i % j == 0) c++;
        }

        if (c == 2)
        {
            b = i;
            d = b / 10;
            e = b - (10 * d);
            x = (e * 10) + d;

            {
                z = 0;
                f = x;

                for (j = 1; j <= f; j++)
                {
                    if (f % j == 0) z++;
                }

                if (z == 2)
                {
                    printf("%d %d\n", i, f);
                }
            }
        }

        i++;
    }

    getch();
}

我的问题是如何添加所有的f ..

答案应该是429.

我怎么能添加所有的f?



1> Mehrdad Afsh..:

为什么不将代码分解为某些函数:

bool isPrime(int number) 检查数字是否为素数.

int reverse(int number) 这反转了数字.

那么算法将是:

sum = 0;
for (i = 2; i <= 99; ++i)
   if (isPrime(i) && isPrime(reverse(i)))
      sum += i;

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有