问题标题: 酷町堂:1106 素数

0
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;
}

 


0
0
0
王文博
王文博
缔造者之神
缔造者之神

第10行是return false;

望采纳!

我要回答