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. ios开发屏幕问题

    1. 程序要要支持Iphone 和 ipad,所以首先必需创建一通用程序,这一操作只要在创建程序时在 devices那栏上勾选universal即可,完成后会发现有两个.xib文件,但只有一个view ...

  2. 联想E430Cwindow8系统换成win7

    垃圾win8系统各种不习惯,尤其无线网络老是自己断掉,忍无可忍只能换成win7,之前换过一次,没有成功,记得是提示硬盘模式要由GPT换成MBR. 这次换系统采用了PE里直接分区,格式化所有数据,然后g ...

  3. OpenRisc-37-OpenRISC的CPU&core的整体架构分析

    引言 前面我们分析了ORPSoC的整体架构,并对其子系统进行了深入的分析和了解.但对于ORPSoC的核心模块or1200_top及其内部的core--or1200_cpu模块却鲜有涉及,算是ORPSo ...

  4. mini2440裸机之I2C

    // File Name : IIC.c // Function  : S3C2440 IIC-bus Master Tx/Rx mode Test Program //             (I ...

  5. UITableView的常用方法与示例

    实例方法 dequeueReusableCellWithIdentifier: 初始化一个指定重用标识符的UITableCell对象 两个协议 UITableViewDataSource tableV ...

  6. 设置Linux可以查看历史命令的执行时间

    大家都知道Linux平台上,可以通过history命令查看最近所执行过的命令,但history命令默认所显示的只有编号和命令的,只知道命令是最近所执行的,但不知具体执行的日期.时.分.秒,有时给寻找证 ...

  7. 批处理清理VS工程目录(递归删除Debug, Release, ipch目录及*.sdf文件)

    用VS写程序最烦的就是VS会产生一大堆乱七八糟的东西,如Degub, Release, ipch目录,还有sdf文件,这些东西占了很大的空间,在linux下编程的话一个make clean就可以很方便 ...

  8. 使用DBUnit实现对数据库的测试

    这是一个JavaProject,有关DBUnit用法详见本文测试用例 首先是用到的实体类User.java package com.jadyer.model; public class User { ...

  9. 700多个PHP版本随时切换,PHPWAMP共生模式与多档位综合教程。

    最近有学生向我咨询如何同时建立多个不同PHP版本站点,并自定义任意版本,软件是否可以多开,PHPWAMP如何设置才能与其他的环境同时使用等问题,本文将一一解决. 简单介绍一下PHPWAMP 你们应该会 ...

  10. expressJS - 准备活动

    安装 nodeJS 1. package.json 2. CommonJS, AMD, ES6 3. Babel