gpt4 book ai didi

c - 如何在C中找到第n个素数

转载 作者:行者123 更新时间:2023-11-30 19:45:26 25 4
gpt4 key购买 nike

此应用程序将收到一个号码n。收到这个数字后,程序必须显示素数列表中的第 n 个素数。例如,如果用户输入 3,程序应该显示 5,因为 5 是从 2 开始的第三个质数。我知道我的代码有问题,但我不知道问题出在哪里以及如何修复它。

#include <stdio.h>

int main() {
int n, i, flag, prime;
int counter = 1;
scanf("%d", &n);
if (n == 1) prime = 2;
else
do{
prime = 3;
for (i = 2; i < prime; i++) {
flag = 1;
if (prime % i == 0) {
flag = 0;
}
}
if (flag == 1)
counter++;
prime++;
} while (counter != n);
if (counter == n)
printf("%d\n", prime);
return 0;
}

最佳答案

修复保单剩余部分的示例,如下所示:

#include<stdio.h>

int main(void){
int n, i, flag, prime;
int counter = 1;

scanf("%d", &n);
if (n == 1)
prime = 2;
else {
prime = 1;
do{
prime += 2;
flag = 1;
for (i = 3; i < prime; i+=2){
if (prime % i == 0) {
flag = 0;
break;
}
}
if(flag == 1)
counter++;
} while (counter != n);
}
printf("%d\n", prime);

return 0;
}

关于c - 如何在C中找到第n个素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26457840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com