题目描述
编程求正整数M与N之间的所有素数的个数.(M<=N)
输入
输入只有一行,包括2个整数M,N,之间用一个空格分开。
输出
输出只有一行(这意味着末尾有一个回车符号),包括1个整数。
样例输入 Copy
1 20
样例输出 Copy
8
提示:素数,也叫质数,一个大于1的正整数,除了1和它本身以外,不能被其他正整数整除。
提高:提高代码的效率,可以使用sqrt()。
代码:
#include<bits/stdc++.h>
using namespace std;
int sum=0;
void su(int n){
if(n>1){
for(int i=2;i<=n/2;i++){
if(n%i==0) return ;
}
sum++;
}
else{
return ;
}
}
int main(){
int n,m;
scanf("%d%d",&m,&n);
for(int i=m;i<=n;i++){
su(i);
}
printf("%d",sum);
return 0;
}