洛谷P1035级数求和题解--zhengjun

题目描述

已知: S n = 1 + 1 / 2 + 1 / 3 + + 1 / n S_n= 1+1/2+1/3+…+1/n 。显然对于任意一个整数 k k ,当 n n 足够大的时候, S n > k S_n>k

现给出一个整数 k k ,要求计算出一个最小的 n n ,使得 S n > k S_n>k

输入格式

一个正整数 k k

输出格式

一个正整数 n n

输入输出样例

输入 #1 复制
1
输出 #1 复制
2

说明/提示

【数据范围】

对于 100 % 100\% 的数据, 1 k 15 1\le k \le 15

思路

难得一道极水的模拟题

一个while就解决了

不多说,代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
	double sum=0;
	double n=0;
	int k;
	cin>>k;
	while(sum<=k)
	{
		n++;
		sum+=1.0/n;
	}
	cout<<n;
	return 0;
}

谢谢-zhengjun

发布了48 篇原创文章 · 获赞 49 · 访问量 2132

猜你喜欢

转载自blog.csdn.net/A_zjzj/article/details/104991721