202503-1 图书馆里的老鼠
题目描述
图书馆里有 n 本书,不幸的是,还混入了一只老鼠,老鼠每 x 小时能啃光一本书,假设老鼠在啃光一本书之前,不会啃另一本。请问 y 小时后图书馆里还剩下多少本完整的书。
输入格式
三行,第一行一个正整数 n,表示图书馆里书的数量;
第二行,一个正整数 x,表示老鼠啃光一本书需要的时间;
第三行,一个正整数 y,表示经过的总时间;
输入数据保证 y 小时后至少会剩下一本完整的书。
输出格式
一行,一个整数,表示 y 小时后图书馆里还剩下多少本完整的书。
样例输入 1
10
2
3
样例输出 1
8
样例输入 2
5
2
4
样例输出 2
3
提示
对于所有测试点,保证 1\leq n,x,y\leq 1000,保证 y 小时后至少会剩下⼀本完整的书。
代码解析
这道题易错点在于,题目所求的是还剩多少完整的书,所以对于老鼠啃的书的数量我们应该 向上取整, 注意变量的类型。
#include<bits/stdc++.h>
using namespace std;
int main() {
double n, x, y;
cin >> n >> x >> y;
cout << n - ceil(y / x);
return 0;
}
202503-2 四舍五入
题目描述
四舍五入是一种常见的近似计算方法。现在,给定 n 个整数,你需要将每个整数四舍五入到最接近的整十数。例如,43 四舍五入后为 40,58 四舍五入后为 60。
输入格式
共 n+1 行,第一行,一个整数 n,表示接下来输入的整数个数。
接下来 n 行,每行一个整数 a_1, \cdots, a_n,表示需要四舍五入的整数。
输出格式
n 行,每行一个整数,表示每个整数四舍五入后的结果。
样例输入 1
5
43
58
25
67
90
样例输出 1
40
60
30
70
90
提示
对于所有测试点,保证 1\leq n\leq 100,1\leq a_i\leq 10000。
代码解析
数字先加 5,再除以 10,再乘以 10,即可得到四舍五入的整十数。
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
while (n--) {
int a;
cin >> a;
cout << (a+5)/10*10 << endl;
}
return 0;
}