12 solutions
-
1
解题报告
撰写人: 钟志杰
题意分析
这道题与上一道题差不多,只不过就是判断一个区间而已。
难度等级
★★☆☆☆
解题思路
这道题重点在于怎么判断质数,质数的判断方法如下:
1.质数数不能是1,因为质数要求是只有2个因数,而1只有1个因数。
2.质数只有2个因数。
3(附加).如果这个数为2的倍数(除了2),那这个数就不是质数
最后我们用for循环判断区间即可。解题反思
无
参考程序
#include<bits/stdc++.h> using namespace std; int a,b,s; bool zs(int x){//判断质数函数 if(x<=1) return 0;//如果≤1就不是质数 if(x%2==0&&x!=2) return 0;//判断二的倍数(除了2) for(int i=3;i*i<=x;i+=2){//一个个试探 if(x%i==0) return 0;//如果这个数有别的倍数,就不是质数 }return 1;//直到最后还没踢出去,就是质数 } int main(){//主函数 cin>>a>>b; for(int i=a;i<=b;i++){//一个个判断质数数量 if(zs(i)) s++;//记录数量 } cout<<s; return 0; }
Information
- ID
- 603
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 1
- Tags
- # Submissions
- 105
- Accepted
- 34
- Uploaded By