|
发表于 2020-12-26 21:10:58
|
显示全部楼层
我调整到了第42行,后面的,因为不知道你的想法,调试起来有些困难,你自己慢慢调试吧
- #include<stdio.h>
- #include<stdlib.h>
- #include<string.h>
- #include<math.h>
- int judge(int m) // 判断是否是素数
- {
- int c = 0;
- int i, j;
- for (i = 2;i < m;i++)
- {
- if (m % i == 0) // 不是素数,返回 0
- {
- return c;
- }
- }
- c = 1; // 是素数,返回 1
- return c;
- }
- int main()
- {
- int num = 0;
- int i, j = 1, t = 0, z, a[2][1000];
- a[0][0] = 2;
- for (i = 3;i < 2000;i++)
- {
- z = judge(i); // 调用函数判断 i 是否是素数
- if (z == 1)
- {
- a[0][j] = i; // 是素数,将 i 存入数组
- j++; // 存入素数个数
- }
- }
- z = j; // 将素数总数赋给变量 z
- for (i = 0;i < z;i++) // 为调试所加,输出所有的素数
- {
- a[1][i] = a[0][i + 1] - a[0][i];
- }
-
- for (i = 0;i < z;i++)
- {
- j = i;
- while (a[1][i]<1898 && t <= 1000)
- {
- a[1][i] += a[1][j + 1];
- j++;
- t = j;
- }
- if (a[1][i] == 1898)
- num += 1;
- }
- printf("%d", num);
- return 0;
- }
复制代码 |
|