解题思路:
1、输入数字小于2直接退出
2、大于2直接输出2,为了后面来判断的数字都是基数做个小铺垫,应为偶数不可能是素数嘛
3、比较范围上限用根号更好节省时空
注意事项:
参考代码:
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int n,i,j;
cin >> n;
if (n < 2) //小于2没有,就直接退出的哈
return 0;
cout << 2<<endl; //直接输出2是为了后面循环减少次数
for (i = 3; i <= n; i += 2)
{
for (j = 2; j <= sqrt(i); j++)
{
if (i%j == 0)
break;
}
if (j > sqrt(i))
cout << i<<endl;
}
return 0;
}
0.0分
0 人评分
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2784 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:612 |
回文串 (C语言代码)浏览:2865 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:2081 |
WU-链表数据求和操作 (C++代码)浏览:1327 |
【偶数求和】 (C语言代码)浏览:432 |
C二级辅导-计负均正 (C语言代码)浏览:482 |
Hello, world! (C语言代码)浏览:839 |
前10名 (C语言代码)浏览:729 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:819 |