解题思路:
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语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:880 |
简单的a+b (C语言代码)浏览:599 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1311 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1099 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:596 |
1908题解浏览:640 |
A+B for Input-Output Practice (C语言代码)浏览:468 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1918 |
星期判断机 (C语言代码)浏览:859 |
1051(奇了怪了)浏览:649 |