要求统计出第n个素数是什么。
我的这个前四个还是对的2 3 5 7。
到第五个就是9了,改了很多遍都改不掉。
测试的时候a到9了。
x=2;
s=9%2;
之后瞬间x=8了,跳出循环了
改两个小时了,就是弄不出来
我的精神状态已经在崩溃边缘了
函数的else if错误啊
是else if(x==n-1)不是else if(x=n-1)啊
修改如下,供参考:
#include <stdio.h>
int isprime(int n)
{
int i;
if (n <= 3) return n > 1;
for (i = 2; i * i <= n; i++)
if (n % i == 0) return 0;
return 1;
}
int main()
{
int n, m, y = 0, j = 1;
scanf("%d %d", &n, &m);
while (j < m) {
if (isprime(j)) { //如果 j 是素数
y++; //y 计数加 1
if (y == n) //当 y = n 时,输出 j , 第 n 个素数
printf("%d", j);
}
j++; //每判断一次,j 自增一次,直到 j >= m
}
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!