第15界蓝桥杯T1解析

题面

题目描述

一本书共 n 页,小明计划第一天看 x 页,此后每一天都要比前一天多看 y 页,请问小明几天可以看完这本书?

输入格式

一行输入三个整数 n,x,y(20≤n≤5000, 1≤x,y≤20),分别表示书的总页数、计划第一天看的页数以及此后每天都要比前一天多看的页数,整数之间以一个空格隔开

输出格式

输出一个整数,表示小明几天可以看完这本书

思路

这题就是纯模拟,直接模拟即可。

使用 x 记录当天所看的页数,使用 cnt 记录天数,用while(n > 0)进行循环
每次循环 先让 n 减去 x,然后 x 加上 y,最后 cnt 加 1。

1
2
3
n -= x;
x += y;
cnt++;

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main(){
int n, x, y;
cin >> n >> x >> y;
int cnt = 0;
while(n > 0){
n -= x;
x += y;
cnt++;
}
cout << cnt;
return 0;
}