[NOIP2002 普及组] 级数求和

[NOIP2002 普及组] 级数求和

GESP一级练习,循环和基本运算练习,难度★☆☆☆☆。

luogu-P1035

题目要求

题目描述

已知: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

样例输出 #1

2

数据范围

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


题目分析

本题目要求我们根据输入的整数kk,计算并输出一个最小的nn,使得Sn>kS_n>k。根据题目描述,我们需要:

  1. 初始化nn为0,然后使用for循环来计算nn,使得SnS_n不超过kk
  2. 在每次循环中,我们将SnS_n的值与kk进行比较,如果SnS_n不超过kk,则增加nn的值。
  3. SnS_n超过kk时,我们停止循环并输出当前的nn值。
  4. 最后,我们输出计算得到的nn值。

{% include custom/custom-post-content-inner.html %}

示例代码

#include <cstdio>
int main() {
    // 读取输入的整数k
    int k;
    scanf("%d", &k);
    // 初始化n为0
    int n = 0;
    // 使用for循环来计算n,使得a不超过k
    for (double a = 0; a <= k; a += 1.0 / n) {
        // 每次循环增加n的值
        n++;
    }
    // 输出计算得到的n
    printf("%d", n);
    return 0;
}

{% include custom/custom-post-content-footer.md %}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

luogu-”系列题目可在 洛谷题库 在线评测。

bcqm-”系列题目可在 编程启蒙题库 在线评测。

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
Last updated on