时间限制: 1000 ms 内存限制: 65536 KB
提交数: 7847 通过数: 4817
输出正整数a到b之间的所有素数。
【输入】输入a,b。
【输出】由小到大,输出a到b之间的所有素数。每个数占一行。
【提示】【数据范围】
对于所有数据,1≤a≤b≤20000。
分析:
1.先使用循环遍历a到b的所有数字,然后在这个循环体里面进行素数判断;
2.素数:
3.再使用一个循环判断一个数 i 是否是素数,当然,我们很自然会想到从2开始循环到 i-1,看i对其取模是否等于0,等于0就不是素数。但其实我们可以把这个范围进一步缩小,从1到 根号i 即可(这个可以自己想一下,或者去百度如何判断素数)。
4.设置一个bool变量,初始值为真,如果判断不是素数,就将其置为假,然后符合条件的数进行输出。
#includeusing std::cout; using std::cin; using std::endl; int main() { int a = 0, b = 0; cin >> a >> b; for (int i = a; i <= b; ++i) { bool x = true; for (int j = 2; j * j <= i; ++j) { if (i % j == 0) { x = false; break; } } if (x&&i!=1) { cout << i <



