- 问题描述
从键盘输入m,n
在屏幕上按每行10个的格式输出m~n之间的全部素数。
请用函数判断一个数是否素数。
- 输入说明
两个整数m n - 输出说明
m,n\]之间(包含m和n)的素数,每行10个,每个数后跟一个空格。
cpp
2 33
- 输出范例
cpp
2 3 5 7 11 13 17 19 23 29
31
感想:主要是写个函数判断是否是质数
代码如下:
cpp
#include <bits/stdc++.h>
using namespace std;
bool is_prime(int n) {
if(n<=1) return false;//1不是素数!!!
for(int i = 2; i*i<=n; ++i) {
if(n%i == 0)
return false;
}
return true;
}
int main() {
int m,n;
cin>>m>>n;
int cnt = 0;
for(int i = m; i<=n; ++i) {
if(is_prime(i)) {
cout<<i<<" ";
++cnt;
if(cnt%10 == 0)
cout<<endl;
}
}
return 0;
}