0
已解决
题目描述 Description
期中考试刚刚结束,聪聪是班上的学习委员,可是这次数学成绩班上好多同学都考了满分,聪聪只考了 98 分,就错在一道求素数的题目上,题目是这样的:已知 N 和 M 两个正整数,求 N 至 M 之间(包括 N 和M)有多少个素数。聪聪觉得很懊恼,他决定必须研究清楚这个问题。由于聪聪今年刚加入学校的计算机兴趣班,于是他决定利用编程来解决这个问题,你能帮助他吗?
输入描述 Input Description
输入文件共一行:两个正整数 N 和 M,中间以一个空格隔开。
输出描述 Output Description
输出文件一个正整数:表示 N 至 M 之间(包括 N 和 M)的素数个数。
WA
#include<iostream>
#include<bits/stdc++.h>
#define inf (1<<25)
#define reg register
using namespace std;
bool ss(int k){
if(k==1) return true;
for(int i=2;i<=sqrt(k);i++)
if(k%i==0)
return true;
return true;
}
int n,m,cnt;
int main(){
cin>>n>>m;
for(int i=n;i<=m;i++){
if(ss(i)){
cnt++;
}
}
cout<<cnt;
return 0;
}
