专栏文章

P1035题解

P1035题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miqa6zw8
此快照首次捕获于
2025/12/04 01:28
3 个月前
此快照最后确认于
2025/12/04 01:28
3 个月前
查看原文

题目题目

P1035 [NOIP 2002 普及组] 级数求和

题目描述

已知:Sn=1+12+13++1nS_n= 1+\dfrac{1}{2}+\dfrac{1}{3}+…+\dfrac{1}{n}。显然对于任意一个整数 kk,当 nn 足够大的时候,Sn>kS_n>k
现给出一个整数 kk,要求计算出一个最小的 nn,使得 Sn>kS_n>k

输入格式

一个正整数 kk

输出格式

一个正整数 nn

输入输出样例 #1

输入 #1

CPP
1

输出 #1

CPP
2

说明/提示

【数据范围】
对于 100%100\% 的数据,1k151\le k \le 15
【题目来源】
NOIP 2002 普及组第一题

题目传送门题目传送门

要求:要求:

  • 求满足Sn>kS_n>k的最小整数nn

做法:做法:

  • 11开始枚举nn,累积计算SnS_n
  • 注意计算1/n1/n的时候格式为1.0/n

代码:代码:

CPP
#include <iostream>
using namespace std;
int main(){
	int k,n=0;
	double Sn=0;
    cin>>k;
    for(;Sn<=k;){
    	Sn+=1.0/(++n);
	}
    cout <<n;
    return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...