练习五1004判决数素的个数
来源:互联网 发布:linux vim查看行数 编辑:程序博客网 时间:2024/04/28 00:41
描述
输入两个整数X和Y,输出两者之间的素数个数(包括X和Y)。
输入
两个整数X和Y(1 <= X,Y <= 105)。
输出
输出一个整数,表示X,Y之间的素数个数(包括X和Y)。
样例输入
1 100
样例输出
25
代码:
#include<iostream>
using namespace std;
int main()
{
int a,b,sum=0,i,j;
cin>>a>>b;
if(a>b)
{
int t=a;
a=b;
b=t;
}
bool f[100005]; f[1]=false;
for(i=2;i<=100000;i++)
{
f[i]=true;
}
for(i=2;i<=100000;i++)
{
if(f[i])
{
for(j=2*i;j<=100000;j+=i)
f[j]=false;
}
}
for(i=a;i<=b;i++)
{
if(f[i]) sum++;
}
cout<<sum;
return 0;
}
解题思路:运用预处理的方法降低运行消耗,用筛法求素数的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。
细节方面:注意1不是数素,
0 0
- 练习五1004判决数素的个数
- 10: 判决素数个数
- 判决素数个数
- 【算法练习】还是求二进制数中1的个数
- 百练 3177 判决素数个数
- 北大百练 3177:判决素数个数
- 找子串个数的练习
- 数单词的个数
- 数1的个数
- 2015华为机试练习之计算二进制数的0的个数
- 练习多个数的平均值
- 编程输出1~100中能被三整除但不能被五整除的数,并统计个数。
- Bailian3177 判决素数个数【入门】(POJ NOI0113-10)
- wannfly练习赛8 给个n,求1到n的所有数的约数个数的和
- 牛客练习赛8,给个n,求1到n的所有数的约数个数的和~
- 平方数的约数个数
- 完全平方数的个数
- 完全平方数的个数
- 面试算法:依赖堆栈求解汉诺塔问题
- poj 2253
- Struts2项目<s:debug>标签的问题
- Python多种方法实现句子中单词倒置(好未来2017笔试题)
- java synchronized详解
- 练习五1004判决数素的个数
- JS获取(格式化)系统当前时间
- doGet与doPost的区别
- bzoj2419 电阻 [高斯消元]
- 麻将胡牌的算法
- python函数做参数
- Kcptun配置
- 水面渲染小结
- 【玄学数论】Euclid