http://acm.hdu.edu.cn/showproblem.php?pid=2156
题目大意:略!
解题思路: 一个公式: sum = n* 1/1 +2*((n-1)*1/2+(n-2)*1/3+.....+1*1/n)
推了半天没推出来 -&- 还是就记一下。
代码:
#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int n,i,k;
double sum;
while(scanf("%d",&n)!=EOF&&n!=0)
{
sum=0;
for(i=2,k=n-1;i<=n;i++,k--)
{
sum+=(double)k*1.0/(double)i;
}
sum=(double)n+sum*2;
printf("%.2lf\n",sum);
}
return 0;
}