问题描述
计算调和级数的前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
#include <stdio.h>
double S (double n){
int i = 1;
double sum = 0;
for(i=1;i<=n;i++){
sum += 1.0/i;
}
return sum;
}
int main(){
double n = 0;
scanf("%lf",&n);
double ret = S(n);
printf("%.15lf",ret);
return 0;
}