信息学奥赛一本通C++语言——1087:级数求和

【题目描述】
已知:Sn=1+1/2+1/3+…+1/n。显然对于任意一个整数k,当n足够大的时候,Sn大于k。现给出一个整数k(1≤k≤15),要求计算出一个最小的n,使得Sn>k。

【输入】
一个整数k。

【输出】
一个整数n。

【输入样例】
1
【输出样例】
2

#include<cstdio>
int main(){
	int k,n=0;
	double sn=0.0f;
	scanf("%d",&k);
	while(sn<=k){
		n++;
		sn+=1.0/n;
	}
	printf("%ld",n);
	return 0;
} 
发布了107 篇原创文章 · 获赞 32 · 访问量 3254

猜你喜欢

转载自blog.csdn.net/weixin_46272402/article/details/104563015
今日推荐