1441 士兵的數字遊戲

2022-08-02 22:57:19 字數 1102 閱讀 4491

1441 士兵的數字遊戲

基準時間限制:6 秒 空間限制:131072 kb 分值

兩個士兵正在玩乙個遊戲,遊戲開始的時候,第乙個士兵為第二個士兵選乙個正整數n。然後第二個士兵要玩盡可能多的輪數。每一輪要選擇乙個正整數x>1,且n要是x的倍數,然後用n/x去代替n。當n變成1的時候,遊戲就結束了,第二個士兵所得的分數就是他玩遊戲的輪數。

為了使遊戲更加有趣,第乙個士兵用 a! / b! 來表示n。k!表示把所有1到k的數字乘起來。

那麼第二個士兵所能得到的最大分數是多少呢?

input

單組測試資料。

第一行包含乙個整數t (1 ≤ t ≤ 1,000,000),表示士兵玩遊戲的次數。

接下來t行,每行包含兩個整數a,b (1 ≤ b ≤ a ≤ 5,000,000)。

output

對於每一組資料,輸出第二個士兵能拿到的最多分數。
input示例

2

3 16 3

output示例

2

5思路:篩法;求每個數的質因數的個數,因為上面的肯定整除下面的,所以只要質因數相減。

1 #include 2

bool prime[5000005];3

int ans[5000005];4

int sum[5000005];5

int pre[5000005];6

int main(void)7

19}20}

21 ans[1] = 0

;22 ans[2] = 1;23

for(i = 3; i <= 5000000; i++)

2427 ans[1] = 0

;28 sum[1] = 0;29

for(i = 2; i <= 5000000; i++)

3033

intt;

34 scanf("

%d",&t);

35while(t--)

3641

return0;

42 }

1441 士兵的數字遊戲

1441 士兵的數字遊戲 基準時間限制 6 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 兩個士兵正在玩乙個遊戲,遊戲開始的時候,第乙個士兵為第二個士兵選乙個正整數n。然後第二個士兵要玩盡可能多的輪數。每一輪要選擇乙個正整數x 1,且n要是x的倍數,然後用n x去代替n。當n變成...

51nod 1441 士兵的數字遊戲 素數篩

兩個士兵正在玩乙個遊戲,遊戲開始的時候,第乙個士兵為第二個士兵選乙個正整數n。然後第二個士兵要玩盡可能多的輪數。每一輪要選擇乙個正整數x 1,且n要是x的倍數,然後用n x去代替n。當n變成1的時候,遊戲就結束了,第二個士兵所得的分數就是他玩遊戲的輪數。為了使遊戲更加有趣,第乙個士兵用 a b 來表...

51nod1441 士兵的數字遊戲 分解質因子

題目大意 兩個士兵正在玩乙個遊戲,遊戲開始的時候,第乙個士兵為第二個士兵選乙個正整數n。然後第二個士兵要玩盡可能多的輪數。每一輪要選擇乙個正整數x 1,且n要是x的倍數,然後用n x去代替n。當n變成1的時候,遊戲就結束了,第二個士兵所得的分數就是他玩遊戲的輪數。為了使遊戲更加有趣,第乙個士兵用 a...