[NOIP2002 普及组] 级数求和

[NOIP2002 普及组] 级数求和

题目描述

已知: S n = 1 + 1 2 + 1 3 + ... + 1 n S_n= 1+\dfrac{1}{2}+\dfrac{1}{3}+...+\dfrac{1}{n} Sn=1+21+31+...+n1。显然对于任意一个整数 k k k,当 n n n 足够大的时候, S n > k S_n>k Sn>k。

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

输入格式

一个正整数 k k k。

输出格式

一个正整数 n n n。

样例 #1

样例输入 #1

1

样例输出 #1

2

提示

【数据范围】

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

【题目来源】

NOIP 2002 普及组第一题

题解

就是写一个死循环,不断地尝试n,比如当k = 1时,只要sn 加两次 第一次 1/1 第二次再加个1/2 就是1.5了 1.5就比1大 这样的话就终止,返回对应的这个i(即所谓的n),唯一要注意的就是注意变量强制类型转换,(1/i)这里肯定要强转的,不然你sn一直都是1。

cpp 复制代码
#include<bits/stdc++.h>

using namespace std;

int main(){
	double sn = 0;
	int k;
	cin >> k;
	for(int i = 1;;i++){
		sn += (double)1/i;
		if(k < sn){
			cout << i;
			return 0;
		}
	}
}
相关推荐
奋斗的小花生1 小时前
c++ 多态性
开发语言·c++
pianmian11 小时前
python数据结构基础(7)
数据结构·算法
闲晨1 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
UestcXiye3 小时前
《TCP/IP网络编程》学习笔记 | Chapter 3:地址族与数据序列
c++·计算机网络·ip·tcp
好奇龙猫3 小时前
【学习AI-相关路程-mnist手写数字分类-win-硬件:windows-自我学习AI-实验步骤-全连接神经网络(BPnetwork)-操作流程(3) 】
人工智能·算法
霁月风4 小时前
设计模式——适配器模式
c++·适配器模式
sp_fyf_20244 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
ChoSeitaku4 小时前
链表交集相关算法题|AB链表公共元素生成链表C|AB链表交集存放于A|连续子序列|相交链表求交点位置(C)
数据结构·考研·链表
偷心编程4 小时前
双向链表专题
数据结构
香菜大丸4 小时前
链表的归并排序
数据结构·算法·链表