Description

两个士兵在玩一个游戏,开始的时候第一个士兵选择一个数n,并把这个数交给第二个士兵,第二个士兵必须选择一个x满足x>1 且n能被x整除,然后将n变为n/x,然后把这个数交给第一个士兵,依次循环,当n等于1时,游戏结束,第二个士兵所得的分数为他执行的游戏轮数(选择x的次数)。

为了使游戏更有趣…,第一个士兵选择的n满足如下的形式 a!/b!(a>=b), a!表示a的阶乘。

第二个士兵得到的最大分数是多少?

Input

第一行包含一个整数t (1 ≤t≤ 1 000 000),表示士兵玩游戏的次数。

接下来有t行,每行两个整数a, b(1 ≤b≤a≤ 5 000 000),用来表示n(一开始第一个士兵选择的数n)。

Output

每一次游戏输出第二个士兵能够得到的最大分数。

Sample Input

2

3 1

6 3

Sample Output

2

5

质因数分解,再前缀和处理

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
#define max 5000005
int a[max];
int main()
{
int t,r,l,k,i,j;
while(scanf("%d",&t)!=EOF)
{
for(i=;i<max;i++)
if(!a[i])//确保质因数的倍数已经遍历过,不再重复遍历
{
for(j=i;j<max;j+=i)
{
k=j;
while(k%i==)
{
a[j]++;
k/=i;
}
}
}
for(i=;i<max;i++)
a[i]+=a[i-];
while(t--)
{
scanf("%d%d",&r,&l);
printf("%d\n",a[r]-a[l]);
}
}
return ;
}

CodeForces 546D的更多相关文章

  1. 【codeforces 546D】Soldier and Number Game

    time limit per test3 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  2. codeforces 546D Soldier and Number Game

    题目链接 这个题, 告诉你a, b的值, 那么只需要求出b到a之间的数, 每个数有多少个因子就可以. 具体看代码, 代码里面有解释 #include<bits/stdc++.h> usin ...

  3. CodeForces 546D Soldier and Number Game 打表(求质因子个数)

    题目:戳我这个题与HDUOJ 5317有异曲同工之妙 题意:题意看懂了上面的一大串英文之后其实很简单,就是给你一个正整数n,问你n有多少个质因子,不过这里n是通过a!/b!给定的,也就是说n=(a!/ ...

  4. Codeforces 546D Soldier and Number Game(数论)

    类似筛素数的方法……求出前缀和.然后直接O(1)回答即可. #include <bits/stdc++.h> using namespace std; #define rep(i,a,b) ...

  5. Soldier and Number Game CodeForces - 546D 素因子数打表(素数筛的改造)

    题意: 输入 a 和 b(a>b),求a! / b!的结果最多能被第二个士兵给的数字除多少次. 思路: a! / b!肯定能把b!约分掉,只留下b+1~a的数字相乘,所以我们求b+1 ~ a的所 ...

  6. Codeforce 546D

    Soldier and Number Game Time Limit:3000MS     Memory Limit:262144KB     64bit IO Format:%I64d & ...

  7. 「日常训练」 Soldier and Number Game (CFR304D2D)

    题意 (Codeforces 546D) 给定一个数x=a!b!" role="presentation">x=a!b!x=a!b!的形式,问其中有几个质因数. 分 ...

  8. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  9. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

随机推荐

  1. 老鸟都应该注意的git 提交规范

    不知道大家有没有看过自己项目的git 提交信息-----我看过好多次 ,不忍直视  然后提醒一起的小伙伴 :大家规范点 信息要详细, 过段时间再看下 ,还是一样. 相信很多猿都有这样的感受,对于垃圾的 ...

  2. (Sql Server)数据的拆分和合并

    (Sql Server)数据的拆分和合并 背景: 今天遇到了数据合并和拆分的问题,尝试了几种写法.但大致可分为两类:一.原始写法.二.Sql Server 2005之后支持的写法.第一种写法复杂而且效 ...

  3. 杨氏矩阵查找元素位置Java实现

    杨氏矩阵是一个二维矩阵,特点是每一行的右边的元素比左边的大,每一列下面的元素比上面的大: 比如 1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15 假设要查找的变量为target ...

  4. KendoUI 用下来的小总结

    Kendoui Aspnetmvc * 引用jquery.1.10以上 * 1.项目引用 Kendo.Mvc.dll 2.页面引用 @using Kendo.Mvc.UI; 3.Name和 HtmlA ...

  5. 办理滑铁卢大学(本科)学历认证『微信171922772』UW学位证成绩单使馆认证University of Waterloo

    办理滑铁卢大学(本科)学历认证『微信171922772』UW学位证成绩单使馆认证University of Waterloo QQ/微信171922772办理毕业证成绩单.真实使馆及教育部学历认证★诚 ...

  6. Linux软件安装管理 - CentOS (三)

    1. 软件包管理简介 2. rpm命令管理(Redhat Package Manager) 3. yum在线安装 4. 源码包管理 4.1 源码包和RPM包的区别 4.1.1 区别 安装前:概念上的区 ...

  7. DBCP连接池的使用

    1.新建工程 2.导入commons-dbcp commons-logging commons-pool这三个包 3.创建dbcpconfig.properties的文件 实例如下 #连接设置 dri ...

  8. (89C51)定时器计时1s

    unsigned ; void initT1() { EA=; TH1=0xDC; TL1=0X00; TMOD=0x10; TR1=; ET1=; } { TH1=0xDC; TL1=0X00; c ...

  9. Android进程回收的一些知识

    关于OOM_ADJ说明: Android 进程易被杀死的情形: 参考:Android进程保活招式大全

  10. 关于web多标签多条件筛选的思考以及缓存的正确使用方法(上)

    做项目的过程中,发现一次远程链接数据库的耗时大概是300ms~400ms,切身体会到了前辈们经常说的减少链接的重要性,用了缓存后页面的打开时间从1.5s减少到400ms 前提: 那么来说一说正题,we ...