最正常的题解
2026-02-06 22:04:25
发布于:上海
9阅读
0回复
0点赞
依旧是先上代码
#include <bits/stdc++.h>
using namespace std;
bool isprime(int n)
{
if(n <= 1) return false;
for(int i = 2 ; i <= sqrt(n) ; i++)//循环只需检查到sqrt(n),因为如果n有大于sqrt(n)的因子,必然有对应的小于sqrt(n)的因子
//因为i = 1的情况已经舍去了,所以直接从i = 2开始枚举
//也可以写成这样(这是我个人比较喜欢的写法)☞for(int i = 2 ; i * i <= n ; i++)
{
if(n % i == 0) return false;//如果n % i为真,那么说明n能够被i整除,即i是n的因数,这时说明i不是质数,所以返回假
}
return true;
}
int sum , l , r;
//下面的就不用说了
int main()
{
cin >> l >> r;
for(int i = l ; i <= r ; i++)
{
if(isprime(i) == true) sum++;
}
cout << sum;
return 0;
}
全部评论 1
9178
2026-02-07 来自 上海
0




有帮助,赞一个