|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
#include <math.h>
int isprime(int x);
int main() {
int X = pow(10, 4), M, N, j, k, i, t = 0;
scanf("%d%", &M, &N);
int prime[X];
for (j = 2, k = 0; j < X; j++) {
if (isprime(j)) {
prime[k++] = j; //这一行赋值一直都是0;不知道哪里有问题
t++;
printf("%d %d %d", prime[k], j, k);
if (t % 10 == 0) {
printf("\n");
} else {
printf(" ");
}
}
}
// for (i = M - 1; i < N; i++) {
// printf("%d", prime[i]);
// t++;
// if (t % 10 == 0) {
// printf("\n");
// } else {
// printf(" ");
// }
// }
// return 0;
}
int isprime(int x) {
int ret = 1, q;
if (x == 1) {
ret = 0;
} else {
for (q = 2; q < x; q++) {
if (x % q == 0) {
ret = 0;
}
}
}
return ret;
}
本帖最后由 须弥芥子 于 2022-9-13 08:02 编辑
- prime[k++] = j; //这一行赋值一直都是0;不知道哪里有问题
- t++;
- printf("%d %d %d\n", prime[k-1], j, k-1);
-
复制代码
这里prime[k++] = j执行结束后k自加1了,所以printf里面k要减1。
|
|