SHLQSH【数学】

这篇博客讲述了太阳监狱的禁闭室设计,其中涉及一个数学问题:根据囚犯编号的约数个数决定禁闭天数。博主提供了一个样例及解题思路,并指出了解决此类问题的关键在于SHLQSH数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

王老菊教你当典狱长

Description

太阳监狱的设计,是一个干净、整洁、狱警与囚犯其乐融融一同生活、创建美好家园的监狱。

然而,在一次次的自由开火暴动事件后,董事长王老菊决定,将狱中参与暴动的一千万囚犯关进禁闭室里,让他们面壁思过。董事长决定,将这一千万囚犯从1到10000000依次编号,然后编号为k的囚犯需要在禁闭室里面壁思过p天,其中p为k的约数个数。

不过,太阳监狱只有一个禁闭室。

董事长想知道,要关编号t1到t2的囚犯的禁闭总共需要多少天。

Input (From File: shlqsh.in)

仅包含一行,共有两个整数,表示t1,t2(用空格分开)。

Output (To File: shlqsh.out)

仅有一个整数,表示需要的天数。

Sample Input 1

2 6
Sample Output 1

13
Hint

【样例说明】

2的约数有1,2(他需要关2天禁闭);

3的约数有1,3(他需要关2天禁闭);

4的约数有1,2,4(他需要关3天禁闭);

5的约数有1,5(他需要关2天禁闭);

6的约数有1,2,3,6(他需要关4天禁闭)。

总共需要13天。

【数据规模】

对于50%的数据,1≤t1≤t2≤1000

对于100%的数据,1≤t1≤t2≤10,000,000

【解题思路】

这是一道数学题,而且这个数据范围决定了你时间复杂度不能超O(n),如果你数学好,一下子就能想到SHLQSH数。所以,枚举约数a,t1/a就是[1,t1]中a作约数的个数。

【代码实现】

#include<bits/stdc++.h>
using namespace std;
int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值