c - C中从1到100的质数
问题描述
我正在编写一个程序来查找从 1 到 100 的素数。请检查我的代码是否正确。当我运行我的代码时,素数没有被打印出来。请帮忙。
#include <stdio.h>
#include <conio.h>
int main()
{
int i, j, flag, rem;
flag=0;
printf("2");
for(i=3; i<=100; i++)
{
for(j=2; j<=i; j++)
{
rem = i%j;
if(rem == 0)
{
flag=1;
break;
}
}
if(flag==0)
{
printf("%d", i);
}
}
getch();
return 0;
}
解决方案
更改for (j = 2; j <= i; j++)
为for (j = 2; j <= i/2; j++)
。您需要循环到i/2
.
int main()
{
int i, j, flag, rem;
printf("2\n");
for (i = 3; i <= 100; i++)
{
flag = 0;
for (j = 2; j <= i/2; j++)
{
if (i % j == 0)
{
flag = 1;
break;
}
}
if (flag == 0)
printf("%d\n", i);
}
getch();
return 0;
}
推荐阅读
- macos - 适用于 MacOS 的 RefreshEnv
- java - 从 spring-boot 应用程序到 JBoss EAP6 HornetQ 主题的 JMS 连接失败
- r - purrr 在 map 中使用未嵌套的值来过滤数据
- angular - Angular 5 - 使用 ng build 和 uglify 和 minify 进行开发/QA 构建(如 ng build --prod)
- react-native - 更多图标没有被点击
- javascript - 将标签控件传递给 JavaScript 并设置其值
- python - 为 Python 的 Cmd 类输入流使用协程
- javascript - 无法弄清楚如何正确格式化异步函数,以便脚本暂停,等待返回调用
- c++ - 在犰狳中使用 gsl 随机数生成器
- r - 如何使用 ggplot2 从数据中提取一些变量?