乐乐学编程 发表于 2020-12-17 16:23:50

【奥数题】把17分拆,这些质数的连乘积最大是多少

【奥数题】把17分拆成若干个互不相等的质数之和,这些质数的连乘积最大是多少?

风过无痕1989 发表于 2020-12-17 16:36:30

#include<stdio.h>
int main()
{
        int i, j, k = 0, m = 17, n, product, sum = 0, s;

        for (i = 0;i <= m;i++)   // 求素数并装入 s[] 数组
        {
                for (j = 2;j < m;j++)
                {
                        if (i % j == 0)
                                break;
                }
                if (i == j)
                {
                        s = i;
                        k++;
                }
        }

        for (i = k - 1;i > 1;i--)
        {
                for (j = 0;j < i;j++)
                {
                        sum += s;
                        if (m == s + sum)
                        {
                                product = s;
                                for (n = 0;n <= j;n++)
                                        product *= s;
                                printf("这些质数的连乘积最大是 %d\n", product);
                                break;
                        }
                        else if(s + sum > m)
                                break;
                }
                sum = 0;
        }
}
页: [1]
查看完整版本: 【奥数题】把17分拆,这些质数的连乘积最大是多少