[GESP202312 二级] 小杨做题

[GESP202312 二级] 小杨做题

GESP二级真题,多层循环、分支语句练习,难度★✮☆☆☆。

luogu-B3923 [GESP202312 二级] 小杨做题

题目要求

题目描述

为了准备考试,小杨每天都要做题。第 11 天,小杨做了 aa 道题;第 22 天,小杨做了 bb 道题;从第 33 天起,小杨每天做的题目数量是前两天的总和。

此外,小杨还规定,当自己某一天做了大于或等于 mm 题时,接下来的所有日子里,他就再也不做题了。

请问,到了第 NN 天,小杨总共做了多少题呢?

输入格式

总共 44 行。第一行一个整数 aa,第二行一个整数 bb,第三行一个整数 mm,第四行一个整数 NN

保证 0a,b100 \le a,b \le 10a,b<M<1,000,000a,b<M<1,000,0003N3643 \le N \le 364

输出格式

一行一个整数,表示小杨 NN 天里总共做了多少题目。

样例输入 #1

1
2
10
5

样例输出 #1

19

样例输入 #2

1
1
5
8

样例输出 #2

12

提示

样例解释 1:

小杨第一天做 11 题,第二天做 22 题,第三天做 1+2=31+2=3 题,第四天做 2+3=52+3=5 题,第五天做 3+5=83+5=8 题。因此他总共做了 1+2+3+5+8=191+2+3+5+8=19 题。

样例解释 2:

小杨前 55 天分别做了 1,1,2,3,51,1,2,3,5 题,由于第 55 天小杨做了 55 题,而 m=5m=5,于是小杨从此以后不再做题。因此小杨总共做了 1+1+2+3+5=121+1+2+3+5=12 题。


题目分析

解题思路

  1. 首先,读取输入的四个整数 abmn
  2. 初始化一个变量 sum,用于记录小杨总共做的题目数。
  3. 初始化一个变量 day,用于记录每天小杨做的题目数。
  4. 使用一个循环来模拟小杨每天的做题过程,从第一天到第 n 天。
  5. 在每次循环中,首先计算小杨当天做的题目数 day,然后将 day 加到 sum 上。
  6. 如果 day 大于等于 m,则小杨从此以后不再做题,直接输出 sum
  7. 否则,继续下一天的做题过程,直到第 n 天。
  8. 循环结束后,输出 sum,即小杨总共做的题目数。

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


示例代码

#include <iostream>
using namespace std;
int main() {
    int a, b, m, n; // 定义四个整数变量a、b、m、n
    cin >> a >> b >> m >> n; // 从输入流读取四个整数到a、b、m、n
    long long sum = a + b; // 初始化一个长整型变量sum,用于记录小杨总共做的题目数
    int day = 0; // 初始化一个整数变量day,用于记录每天小杨做的题目数
    if (a >= m) { // 如果a大于等于m
        cout << a; // 直接输出a
        return 0; // 程序结束
    }
    if (b >= m) { // 如果b大于等于m
        cout << a + b; // 输出a和b的和
        return 0; // 程序结束
    }
    for (int i = 1; i <= n - 2; i++) { // 从1到n-2进行循环
        day = a + b; // 计算当天小杨做的题目数
        sum += day; // 将当天做的题目数加到总和中
        if (day >= m) { // 如果当天做的题目数大于等于m
            break; // 跳出循环
        }
        a = b; // 更新a的值为b
        b = day; // 更新b的值为当天做的题目数
    }
    cout << sum; // 输出小杨总共做的题目数
    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