消失的题 - C++ 代码实现及解析
消失的题 - 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;
}
代码解析
-
首先,我们定义三个整型变量N, M, K,分别存储小石头第一次出题的时间、出题次数以及每次比前一次少用的时间。
-
接着,定义一个整型变量totalTime,初始化为N,用于存储总共花费的时间。
-
然后,使用一个循环来计算每次出题的时间,并累加到totalTime中。循环从1开始,到M-1结束,因为最后一次出题的时间已经包含在totalTime中。
-
循环中,每次出题的时间为N - i * K,其中i表示当前是第几次出题。
-
最后,输出totalTime的值,即小石头最后用了多长时间出完了这道题。
输入样例及输出结果
输入样例1:
10 3 2
输出样例1:
4
输入样例2:
5 1 1
输出样例2:
5
总结
这道题目看似复杂,其实只需要简单的循环计算就能解决。通过代码实现和解析,我们可以更加清晰地理解题意并掌握解决问题的思路。
原文地址: https://www.cveoy.top/t/topic/pTmB 著作权归作者所有。请勿转载和采集!