Codeforces Round #614 (Div. 2) B - JOE is on TV! (简单贪心)

在这里插入图片描述
题意:给定数n,每次减少一个数s,那么会得到s/n的价值,同时n要减去s,问最后能得到的最大价值是多少?
思路:贪心即可,答案就是1/n+1/n-1+1/n-2+…1

#include <bits/stdc++.h>
const int maxn=1e5+1;
using namespace std;
int main()
{
	int n;
	scanf("%d",&n);
	if(n==1){
		printf("1.000000000000\n");return 0;
	}
	double sum=1;
	for(int i=2;i<=n;++i)
	{
		sum+=(double)1/i;
	}
	printf("%.12f\n",sum);
}
发布了39 篇原创文章 · 获赞 0 · 访问量 1077

猜你喜欢

转载自blog.csdn.net/qq_42479630/article/details/104062003