12 solutions
-
0
解题报告
撰写人: Jacy
题意分析
题目描述 给定一个区间 [a, b](包含 a 和 b),统计该区间内质数的个数。
输入格式 一行两个整数 a 和 b,其中 1 <= a <= b <= 1000000。
输出格式 一个整数,表示区间 [a, b] 内质数的个数。
难度等级
★★★☆☆
解题思路
用for循环列出质数表,不是质数的,对质数数组进行标记 随后输入区间范围 再用for循环对区间范围的质数数组看下是否有被标记,没被标记则累加
解题反思
无
参考程序
#include<bits/stdc++.h> using namespace std; int a[1000005],l,r,s; int main() { a[0]=1,a[1]=1; for(int i=2;i*i<1000000;i++) if(a[i]==0) for(int j=i+i;j<=1000000;j+=i) a[j]=1; cin>>l>>r; for(int i=l;i<=r;i++) if(a[i]==0)s++; cout<<s; return 0; }
Information
- ID
- 603
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 1
- Tags
- # Submissions
- 105
- Accepted
- 34
- Uploaded By