codeforces 546D Soldier and Number Game
2015-12-06 12:06
513 查看
题目链接
这个题, 告诉你a, b的值, 那么只需要求出b到a之间的数, 每个数有多少个因子就可以。
具体看代码, 代码里面有解释
这个题, 告诉你a, b的值, 那么只需要求出b到a之间的数, 每个数有多少个因子就可以。
具体看代码, 代码里面有解释
#include<bits/stdc++.h> using namespace std; #define pb(x) push_back(x) const int maxn = 5000005; int p[maxn], c[maxn]; int main() { memset(p, 0, sizeof(p)); memset(c, 0, sizeof(c)); for(int i = 2; i<=maxn; i++) { if(!p[i]) { p[i] = i; for(int j = i+i; j<=maxn; j+=i) { p[j] = i; //求出一个数的最大素因子 } } } for(int i = 2; i<=maxn; i++) { p[i] = p[i/p[i]]+1; //这里, p[4]就等于p[2]+1, p[8] = p[8/2]+1 = p[4]+1这样类推就可以求出答案 c[i] = c[i-1]+p[i]; } int t, a, b; cin>>t; while(t--) { scanf("%d%d", &a, &b); printf("%d\n", c[a]-c[b]); } }
相关文章推荐
- mysql并行复制
- 63,匿名对象
- 探索PHP7(一)--性能
- 编写猜数字小游戏
- 【linux】网络编程基础(c语言编程)
- Scala单例对象、伴生类以及伴生对象、apply介绍
- phalapi-进阶篇5(数据库读写分离以及多库使用)
- LeetCode 005 Longest Palindromic Substring
- printf sprintf fprintf
- 在Linux上使用Wine安装轻聊版的QQ的步骤讲解
- 黑马程序员——OC基础之NSString类
- LeetCode 列表合并问题
- phalapi-进阶篇3(自动加载和拦截器)
- phalapi-进阶篇4(notrom进阶以及事务操作)
- C++链接MySQL数据库实例应用
- cdoj 1256 昊昊爱运动 预处理/前缀和
- python psutil 终止子进程
- 黑马程序员——OC基础之点语法
- HDU 5273 Dylans loves sequence 区间DP
- cdoj 1255 斓少摘苹果 贪心