题目背景
小 W 去上算术课了。
题目描述
众所周知,高斯在小学的时候,有一天他的数学老师留了一道题:1+2+⋯+100=?,他认为学生们算 100 个数相加要算很久,然后就准备溜去喝咖啡,但是这个时候高斯却举手说他算完了——他用了我们今天众所周知的等差数列求和公式。
但是,这个算术课的老师就像高斯的老师一样不负责任,他在黑板上留了一道算术题就溜去泡妹子了。但小 W 可没高斯那么聪明,而且这个式子看起来没有巧算方法。于是,他通过电话联系上了学 OI 的你,希望你给他帮助。作为回报,他会给你 100 分作为奖励。
具体来讲,黑板上的式子是这样的:
设 n 的质因数分解结果为 n=i=1∏kpiαi,则定义 f(n)=i=1∏kpiαi+1−piαipiαi+1−1,求 i=1∑nf(i) 的值(精度要求参见提示与说明)。
注意:特别地,我们定义 f(1)=1。
输入格式
一行一个整数 n,意义如上。
输出格式
一行一个实数表示结果。
提示
样例二解释:f(1)=1,f(2)=22−2122−1=1.5,f(3)=32−3132−1=1.3333333333,f(4)=23−2223−1=1.75,f(5)=52−5152−1=1.2。
本题带有 SPJ。设你的答案为 a,标准答案为 b。
如果 ∣a−b∣≤min(104b,10),则获得这个测试点的所有分数;
否则,如果∣a−b∣≤min(103b,100),则获得这个测试点的分数的 40%;
否则,你将不会获得任何分数。
标准答案将会保留 10 位小数。
注意:虽然此题对精度要求较低,但仍建议用更为精确的long double
存储答案。
数据范围:
对于 10% 的数据,n≤10。
对于 30% 的数据,n≤103。
对于 60% 的数据,n≤107。
对于 100% 的数据,1≤n≤1013。