题目链接:http://codeforces.com/problemset/problem/546/D

题意:

给出一个n,n开始是a!/b!,每次用一个x去整除n得到新的n,最后当n变成1的时候经过了几轮得分就是这个轮数,要求最大的分数是多少

思路:
很明显,就是一个求整数质因子个数的题目,阶乘我们不需要算,我们知道在a>b的时候,b!都约掉了,那么我们只需压迫计算出每个数的质因数有几个,然后计算出1~n的质因子之和,那么就可以迅速得到答案了
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#define N 5000005
using namespace std;
typedef long long LL; int sum[N], f[N];///f[i]代表i的素数因子有多少个; void make()
{
for(int i=; i<N; i++)
{
if(!f[i])///当i是素数时;那么i的倍数都含有i这个素因子;所以到f[j]=f[j/i]+1;
for(int j=i; j<N; j+=i)
{
f[j] = f[j/i] + ;
}
}
for(int i=; i<N; i++)///sum[i]表示1--i以内的每个数的因子总和;
sum[i]=sum[i-]+f[i];
} int main()
{
make();
int T, a, b;
scanf("%d", &T);
while(T--)
{
scanf("%d %d", &a, &b);
printf("%d\n", sum[a]-sum[b]);
}
return ;
}

 

最新文章

  1. Spring框架学习(一)
  2. 【nodejs笔记——小知识点汇总】
  3. Visual Studio+TFS--强大的项目管理工具
  4. PHP之:随机抽取一个数&amp;&amp;随机函数
  5. GBDT基本理论及利用GBDT组合特征的具体方法(收集的资料)
  6. Python积木之with
  7. sublime text下载和汉化
  8. .NET基础拾遗(3)字符串、集合和流2
  9. class 文件反编译器的 java 实现
  10. sqlserver2008客户端设置主键自增
  11. #034Python选修课第二届Turtle绘图大赛
  12. Opencv 图像读取与保存问题
  13. 安装splash
  14. 2-物联网开发标配方案(51单片机程序介绍+WIFI程序介绍)
  15. Python3基础 访问在线的有道词典
  16. 标准正态分布表(scipy.stats)
  17. MySQL--批量KILL连接
  18. SaltStack 和 Ansible 的简单比较
  19. DockerFile(保你会版本)(七)
  20. linux找到目录下所有目录文件

热门文章

  1. linux 密码破解
  2. JS学习笔记(4)--js变量的生命周期
  3. python操作word之pywin32的安装
  4. [每天一个Linux小技巧] 查看时钟源精度
  5. Android——Bundle savedInstanceState的作用
  6. C++和Java函数传递数组参数比较
  7. 标签响应javascript的href处理[转载]
  8. 为什么选择使用Spring Cloud而放弃了Dubbo
  9. COUNT() 函数返回匹配指定条件的行数。
  10. UVa 11178:Morley’s Theorem(两射线交点)