来源
教材5.6小节【练习5-13】。
问题描述
计算调和级数的前n项之和:
s(n) = 1 + 1/2 + 1/3 + ⋯⋯ + 1/n
编写C语言程序,从键盘读入一个整数n,然后计算上述调和级数的前n项之和,并输出结果到屏幕(保留小数点后15位)。
输入格式
一共1行数据,包含一个整数n。
输出格式
保留小数点后15位。
数据规模与约定
整数n的值约定为 1 ≤ n ≤ 1 000 000。
输入样例
10000
输出样例
9.787606036044348
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
满分回答
#include<stdio.h>
int main()
{
double s=0;
long long n;
long long i;
scanf("%lld",&n);
for(i=1;i<=n;i++){
s=(1.0/i)+s;
}
printf("%.15f",s);
return 0;
}