本文主要是介绍调和级数(harmony),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
输入正整数n,输出H(n)=1+1/2+1/3+…+1/n的值,保留3位小数。
Input
输入正整数n
Output
输出H(n)=1+1/2+1/3+…+1/n的值,保留3位小数。
Sample Input
3
Sample Output
1.833
代码:
//本题除了正整数n和main函数是int型的,其他全部都是double型!!!#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<algorithm>
using namespace std;double H(int n)
{double cnt=0.0;double k;for(double i=1;i<=n;i++) //注意这里是double i !!!如果是int i,则 1/i是整数除以整数,结果k还是一个整数、而不是浮点数 {k=1/i;cnt=cnt+k;}return cnt;
}int main()
{int n;while(scanf("%d",&n)!=EOF){printf("%.3lf\n",H(n));}return 0;
}
这篇关于调和级数(harmony)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!