GESP认证C++编程真题解析 | 202306 一级

编程题

B3838 时间规划

【题目来源】

洛谷:[B3838 GESP202306 一级] 时间规划 - 洛谷

【题目描述】

小明在为自己规划学习时间。现在他想知道两个时刻之间有多少分钟,你能通过编程帮他做到吗?

【输入】

输入 \(4\) 行,第一行为开始时刻的小时,第二行为开始时刻的分钟,第三行为结束时刻的小时,第四行为结束时刻的分钟。输入保证两个时刻是同一天,开始时刻一定在结束时刻之前。时刻使用 \(24\) 小时制,即小时在 \(0\)\(23\) 之间,分钟在 \(0\)\(59\) 之间。

【输出】

输出一行,包含一个整数,从开始时刻到结束时刻之间有多少分钟。

【输入样例】

9
5
9
6

【输出样例】

1

【算法标签】

《洛谷 B3838 时间规划》 #顺序结构# #GESP# #2023#

【代码详解】

#include <bits/stdc++.h>
using namespace std;

int sth, stm;  // 开始时间:小时和分钟
int edh, edm;  // 结束时间:小时和分钟

int main()
{
    // 输入开始和结束时间
    cin >> sth >> stm;  // 输入开始时间(时 分)
    cin >> edh >> edm;  // 输入结束时间(时 分)
    
    // 计算总时间差(单位:分钟)
    int total_minutes = (edh * 60 + edm) - (sth * 60 + stm);
    
    // 输出时间差
    cout << total_minutes << endl;
    
    return 0;
}

【运行结果】

9
5
10
0
55

B3839 累计相加

【题目来源】

洛谷:[B3839 GESP202306 一级] 累计相加 - 洛谷

【题目描述】

输入一个正整数 \(n\),求形如:

\(1+(1+2)+(1+2+3)+(1+2+3+4)+ \cdots +(1+2+3+4+5+ \cdots +n)\) 的累计相加。

【输入】

输入一个正整数 \(n\)。约定 \(1<n \le 100\)

【输出】

输出累计相加的结果。

【输入样例】

3

【输出样例】

10

【算法标签】

《洛谷 B3839 累计相加》 #数学# #循环结构# #GESP# #2023#

【代码详解】

#include <bits/stdc++.h>
using namespace std;

int n;   // 输入的正整数n
int ans; // 结果累加器

int main()
{
    // 输入n
    cin >> n;
    
    // 双重循环计算
    for (int i = 1; i <= n; i++)  // 外层循环:i从1到n
    {
        for (int j = 1; j <= i; j++)  // 内层循环:j从1到i
        {
            ans += j;  // 将j累加到ans
        }
    }
    
    // 输出结果
    cout << ans << endl;
    
    return 0;
}

【运行结果】

3
10
posted @ 2026-03-14 21:52  团爸讲算法  阅读(5)  评论(0)    收藏  举报