luogu#P6028. 算术

算术

题目背景

小 W 去上算术课了。

题目描述

众所周知,高斯在小学的时候,有一天他的数学老师留了一道题:1+2++100=?1+2+\cdots+100=?,他认为学生们算 100100 个数相加要算很久,然后就准备溜去喝咖啡,但是这个时候高斯却举手说他算完了——他用了我们今天众所周知的等差数列求和公式。

但是,这个算术课的老师就像高斯的老师一样不负责任,他在黑板上留了一道算术题就溜去泡妹子了。但小 W 可没高斯那么聪明,而且这个式子看起来没有巧算方法。于是,他通过电话联系上了学 OI\text{OI} 的你,希望你给他帮助。作为回报,他会给你 100100 分作为奖励。

具体来讲,黑板上的式子是这样的:

nn 的质因数分解结果为 n=i=1kpiαin=\prod\limits_{i=1}^kp_i^{\alpha_i},则定义 $f(n)=\prod\limits_{i=1}^k{\dfrac{p_i^{\alpha_i+1}-1}{p_i^{\alpha_i+1}-p_i^{\alpha_i}}}$,求 i=1nf(i)\sum\limits_{i=1}^nf(i) 的值(精度要求参见提示与说明)。

注意:特别地,我们定义 f(1)=1f(1)=1

输入格式

一行一个整数 nn,意义如上。

输出格式

一行一个实数表示结果。

2

2.5000000000
5
6.7833333333

提示

样例二解释:$f(1)=1,f(2)=\dfrac{2^2-1}{2^2-2^1}=1.5,f(3)=\dfrac{3^2-1}{3^2-3^1}=1.3333333333,f(4)=\dfrac{2^3-1}{2^3-2^2}=1.75,f(5)=\dfrac{5^2-1}{5^2-5^1}=1.2$。


本题带有 SPJ\text{SPJ}。设你的答案为 aa,标准答案为 bb
如果 abmin(b104,10) |{a-b}|\le \min(\dfrac b{10^4},10) ,则获得这个测试点的所有分数;
否则,如果abmin(b103,100)|{a-b}|\le \min(\dfrac b{10^3},100),则获得这个测试点的分数的 40%40\%
否则,你将不会获得任何分数。
标准答案将会保留 10 位小数。
注意:虽然此题对精度要求较低,但仍建议用更为精确的long double存储答案。


数据范围:
对于 10%10\% 的数据,n10n\le10
对于 30%30\% 的数据,n103n\le10^3
对于 60%60\% 的数据,n107n\le10^7
对于 100%100\% 的数据,1n10131\le n\le10^{13}