CCF GESP 2025年9月认证 C++ 1级

编程题
共 2 道 每题 25 分 共计 50 分
第 1 题
商店折扣
时间限制:1s 内存限制:512MB

题目描述

商店正在开展促销活动,给出了两种方案的折扣优惠。第一种方案是购物满 $x$ 元减 $y$ 元;第二种方案是直接打 $n$ 折,也就是说价格变为原先的 $\frac{n}{10}$。这里的 $x,y,n$ 均是正整数,并且 $1≤y<x,1≤n<10$。

需要注意的是,第一种方案中满减优惠只能使用一次。例如购物满 10 元减 3 元时,若挑选了价格总和为 33 元的物品,只能减免 3 元,需要支付 30 元。

小明在商店挑选了价格总和为 $p$ 元的物品,结账时只能使用一种优惠方案。小明最少需要支付多少钱呢?

输入格式

四行,四个正整数 $x,y,n,p$,含义见题目描述。

输出格式

一行,一个小数,表示小明最少需要支付多少钱,保留两位小数。

样例说明

样例 1

输入:
8
7
9
10
输出:
3.00

样例 2

输入:
8
7
2
11
输出:
2.20

数据范围

对于所有测试点,保证 $1≤y<x≤100,1≤n<10,1≤p≤100$。

第 2 题
金字塔
时间限制:1s 内存限制:512MB

题目描述

金字塔由 $n$ 层石块垒成。从塔底向上,每层依次需要 $n×n,(n−1)×(n−1),⋯,2×2,1×1$ 块石块。请问搭建金字塔总共需要多少块石块?

输入格式

一行,一个正整数 $n$,表示金字塔的层数。

输出格式

一行,一个正整数,表示搭建金字塔所需的石块数量。

样例说明

样例 1

输入:
2
输出:
5

样例 2

输入:
5
输出:
55

数据范围

对于所有测试点,保证 $1≤n≤50$。

编程题部分已到底了。