1058 粗心的物理学家

1、题目戳这里

第一次看见这题的时候,感觉是一题很水的题,但是当代码交上去的时候竟然是WA,整个人都是懵逼的,后来才知道竟然会出现大数吃小数的问题,就是精度的问题,所以要先加小数,这样就不会有影响了。

2、代码:

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int n;
	while(cin>>n)
	{
		double ans=0;
		for(int i=n; i>=1; i--)
		{
			ans+=1.000000000000/i;
		}
		cout<<fixed<<setprecision(12)<<ans<<endl;
	}
	return 0;
}
posted @ 2016-08-22 20:06  laixl  阅读(131)  评论(0编辑  收藏  举报