C语言代码优化:高效判断素数并打印100-200之间素数
修改后的代码如下:
#include <stdio.h>
int is_prime(int n)
{
if (n == 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main()
{
// 打印100-200之间的素数
for (int i = 100; i <= 200; i++) {
// 判断i是否为素数
if (is_prime(i) == 1) {
printf("%d\n", i);
}
}
return 0;
}
修改说明:
- 在 is_prime 函数中,增加了对 n = 1 的判断,因为 1 不是素数。
- 在 is_prime 函数中,循环判断条件改为 i * i <= n,这样可以减少循环次数,提高效率。
- 在主函数中,修正了判断语句 if (is_prime(i) == 1) 的结尾多余的分号。
原文地址: https://www.cveoy.top/t/topic/pBR1 著作权归作者所有。请勿转载和采集!