消失的题 - C++ 代码实现及解析

小石头在机房里加入了一个超级有趣的团队,就是'D++快乐屋'。

小石头看见团里的各路大佬都在出题,他只是个小蒟蒻,想变成大佬的他心血来潮也要出题了。他花了N分钟出了一道'D++建团队',可是还没保存,LXN大佬破门而入,吓得小石头赶紧关掉了。等待LXN走后,小石头打开了洛谷,发现他出的题没有保存!!

小石头吓得当场昏迷。

等他醒后,他再次出了一道,因为他很熟练,于是用的时间就比前面用的时间少K分钟做完。可LXN大佬又双叒叕破门而入,吓得小石头忘记保存又双叒叕昏迷了。

经过M次,他终于做完了!~~(当然现在还没发)~~

题目描述

小石头经过一次次的昏迷,导致失忆了,他醒来后问玉树临风,英俊潇洒,帅气逼人,风度翩翩,仪表堂堂,眉清目秀,面如冠玉的出题人:“我最后花了多长时间出了这道题?”~~(其实并没有)~~

经过出题人的深思熟虑,决定把他的发问作为答案。

输入格式

第一行三个正整数

第一个数N表示小石头第一次出题的时间

第二个数M表示小石头出了M次同样的题

第三个数K表示小石头比前一次少用了多长时间

输出格式

输出一个正整数,表示小石头最后用了多长时间出完了这道题

C++ 代码实现

#include <iostream>
using namespace std;

int main() {
    int N, M, K;
    cin >> N >> M >> K;
    
    int totalTime = N;
    for (int i = 1; i < M; i++) {
        totalTime += N - i * K;
    }
    
    cout << totalTime << endl;
    return 0;
}

代码解析

  1. 首先,我们定义三个整型变量N, M, K,分别存储小石头第一次出题的时间、出题次数以及每次比前一次少用的时间。

  2. 接着,定义一个整型变量totalTime,初始化为N,用于存储总共花费的时间。

  3. 然后,使用一个循环来计算每次出题的时间,并累加到totalTime中。循环从1开始,到M-1结束,因为最后一次出题的时间已经包含在totalTime中。

  4. 循环中,每次出题的时间为N - i * K,其中i表示当前是第几次出题。

  5. 最后,输出totalTime的值,即小石头最后用了多长时间出完了这道题。

输入样例及输出结果

输入样例1:

10 3 2

输出样例1:

4

输入样例2:

5 1 1

输出样例2:

5

总结

这道题目看似复杂,其实只需要简单的循环计算就能解决。通过代码实现和解析,我们可以更加清晰地理解题意并掌握解决问题的思路。

消失的题 -  C++ 代码实现及解析

原文地址: https://www.cveoy.top/t/topic/pTmB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录