题型:编程题
小杨做题
时间限制:1.0 s
内存限制:128.0 MB
问题描述
为了准备考试,小杨每天都要做题。第 1 天,小杨做了a道题;第 2 天,小杨做了b道题;从第 3 天起,小杨每天做的题目数量是前两天的总和。
此外,小杨还规定,当自己某一天做了大于或等于m题时,接下来的所有日子里,他就再也不做题了。
请问,到了第N天,小杨总共做了多少题呢?
输入描述
总共 4 行。第一行一个整数 ,第二行一个整数 ,第三行一个整数 ,第四行一个整数 。
保证0≤a,b≤10;a,b<M≤1000000;3≤N≤364。
输出描述
一行一个整数,表示小杨N天里总共做了多少题目。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
样例输入 1
1 2 10 5
样例输出 1
19
样例解释 1
小杨第一天做1题,第二天做2题,第三天做1+2=3题,第四天做2+3=5题,第五天做3+5=8题。因此他总共做了1+2+3+5+8=19题。
样例输入 2
1 1 5 8
样例输出 2
12
样例解释 2
小杨前 5 天分别做了1,1,2,3,5题,由于第 5 天小杨做了5题,而m=5,于是小杨从此以后不再做题。因此小杨总共做了1+1+2+3+5=12题。
更新时间:2023-12-30 18:55:43
|
【知识点】
CCF—GESP C++二级
抱歉! 您未登录, 不能查看答案和解析点击登录
相似题推荐
单选题
下面代码用来找出输入的N个正整数中最大的一个。如果将代码段用流程图来表示,则 L1 标记的代码行应 该使用的图形是( )。
int N, max=0, val;
cin >> N;
while(N){
cin >> val;
if(val > max) // L1
max = val;
N--;
}
cout << max; | A. 圆形框 |
B. 椭圆形框 |
| C. 平行四边形框 |
D. 菱形框 |
2026-09-29
判断题
下面C++代码段执行后将输出 0-3-6-9- 。 ( )
for (int i = 0; i < 10; i++){
if (i % 3)
continue;
cout << i << "-";
}| A.正确 | B.错误 |
2026-09-29
单选题
下面的 C++ 代码段正常执行后其输出的数字图形是( )。
for (i = 1; i < 5; i++){
for (j = 1; j < i+1; j++)
cout << j;
cout << endl;
} | A. 1 12 123 1234 |
B. 1 22 333 4444 |
| C. 1 21 321 4321 |
D. 4 34 234 1234 |
2026-09-29
单选题
下面 C++ 代码段执行后,其输出是( )。
int i, j, cnt;
cnt = 0;
for (i = 0; i < 5; i++){
i = -i; for (j = i; j < -i; j++) cnt += 1;
i = -i;
}
cout << cnt; | A. 5 |
B. 15 |
| C. 20 |
D. 30 |
2026-09-29
