gpt4 book ai didi

c - 我需要使用 C 找到从 1 到 300 的素数。我使用以下代码

转载 作者:行者123 更新时间:2023-11-30 21:20:49 25 4
gpt4 key购买 nike

I have added a image for my code我知道第二个 for 循环有错误,但我无法弄清楚。我认为 if continue 会将其带到 for 循环 if a%i ==0 并且 if a%i!=0 比它应该打印 a 这将是一个素数,但它打印的是 2 中的所有数字到300。请帮忙!!

最佳答案

continuebreak 指令均指示内部 i 循环。因此,无论发生什么,您的代码都会在外循环中打印 a 的每个值。

#include <stdio.h>

int main(void) {
int a, i;
for (a=1; a<=300; a++) {
for (i=2; i<a; i++) { // changed from the clumsy i<=a-1
if (a % i == 0)
break; // end loop if i is a divisor
}
if (i == a) // if the loop completed
printf ("%d\t", a);
}
return 0;
}

程序输出:

2       3       5       7       11      13      17      19      23      29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97 101 103 107 109 113
127 131 137 139 149 151 157 163 167 173
179 181 191 193 197 199 211 223 227 229
233 239 241 251 257 263 269 271 277 281
283 293

这也是一种计算素数的相当粗略的方法,但首先要注意的事情。

关于c - 我需要使用 C 找到从 1 到 300 的素数。我使用以下代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34121759/

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