CodeForces 546D Soldier and Number Game(求素因子+数学+前缀和)
来源:互联网 发布:淘宝网商银行贷款 编辑:程序博客网 时间:2024/06/05 19:28
题目链接:click here~~
【题目大意】
两个整数a, b。求出a, a - 1, a - 2........b +1这些整数能被拆分成多少个素数相乘,把每个的拆分结果相加起来。例如 a = 6, b = 3. 那么结果= 2(4=2*2) + 1(5=5) + 2(6=2*3) = 5
【解题思路】:素数筛法,先把每个数能拆分成多少个素数预处理一下,之后用前缀和的思想,相减一下就行了
代码:
#include <bits/stdc++.h>using namespace std;const int N=5000000;int num[N];bool isprime[N];int n,m,t,ans,cnt;void init(){ memset(num,0,sizeof(num)); memset(isprime,true,sizeof(isprime)); isprime[1]=false; for(int i=2; i<=N; i++) { if(isprime[i]) { for(int j=i; j<=N; j+=i) { int temp=j; while(temp%i==0) { num[j]++; temp/=i; } isprime[j]=false; } } } for(int i=2; i<=N; i++) num[i]=num[i]+num[i-1];}int main(){ init(); int t; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); printf("%d\n",num[n]-num[m]); }}
0 0
- CodeForces 546D Soldier and Number Game(求素因子+数学+前缀和)
- Codeforces 546D Soldier and Number Game【分解素因子+前缀和】
- codeforces-546D-Soldier and Number Game【思维】(求质因子个数)
- Codeforces#304-D - Soldier and Number Game-求因子个数/数学
- codeforces #304D 546D. Soldier and Number Game(数论+动态规划+前缀和)
- CodeForces 828D Soldier and Number Game(数学)
- Codeforces 546D. Soldier and Number Game(找所有数质因子数量)
- CodeForces 546D Soldier and Number Game
- CodeForces-546D Soldier and Number Game
- Codeforces 546D Soldier and Number Game
- CodeForces-546D.Soldier and Number Game
- codeforces 546D. Soldier and Number Game
- CodeForces 546D Soldier and Number Game
- 【codeforces 546D】Soldier and Number Game
- Codeforces Round #304 (Div. 2) 546D Soldier and Number Game 质因子个数
- Codeforces-546D Soldier and Number Game 【质因子分解+打表+DP】
- CodeForces 546D Soldier and Number Game(素数筛选)
- Codeforces Round #304 (Div. 2)-D. Soldier and Number Game,素因子打表,超时哭晕~~
- Ubuntu14.10安装tomcat8
- C++ 虚函数表解析
- git stash的使用
- 需求 - 6 - UIButton点击换背景
- JAVA截取文本特定字符串
- CodeForces 546D Soldier and Number Game(求素因子+数学+前缀和)
- 虚拟化学习小总结
- Linux下nginx的安装和配置
- ReactiveCocoa 和 MVVM 入门
- 把写过的POJ代码都放到GitHub上了
- 收到的最委婉的拒信。。。。。。。。
- java圆形按钮的设计
- java Float和Double 之间的相互转型问题
- java IO流