小杨做题
时间限制:1.0 s
内存限制:128.0 MB
问题描述
为了准备考试,小杨每天都要做题。第 1 天,小杨做了a道题;第 2 天,小杨做了b道题;从第 3 天起,小杨每天做的题目数量是前两天的总和。
此外,小杨还规定,当自己某一天做了大于或等于m题时,接下来的所有日子里,他就再也不做题了。
请问,到了第N天,小杨总共做了多少题呢?
输入描述
总共 4 行。第一行一个整数a,第二行一个整数b,第三行一个整数m,第四行一个整数N。
保证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题。
相似题推荐
下面的Python 代码执行后其输出是( )。
cnt = 0 for i in range(1, 5): for j in range(i): print(j, end = "#") break else: print(i*j)
| A. 0#0#1#0#1#2#0#1#2#3#12 |
B. 0#0#1#0#1#2#0#1#2#3# |
| C. 0# |
D. 1# |
下列Python 代码执行后将输出1#4#9#16#16 。()
for i in range(1, 5): for j in range(1, i + 1): if i * j % 10 == 0: break else: print(i * j, end = "#") else: print(i * j)
| A.正确 | B.错误 |
下面的Python 代码执行将不会有输出,因为内层循环j 总是0 开始,i * j % 10 == 0 将会被满足,执行break,故而不会执行代码中的else 子句部分。()
for i in range(1, 10): for j in range(i): if i * j % 10 == 0: break else: print(i*j)
| A.正确 | B.错误 |
执行下面的Python 代码,其语句print(N) 将被执行0 次或极多次(即死循环)。()
N = input() while N : print(N)
| A.正确 | B.错误 |
下面选择项中,与Python 表达式not (x > 5 and y <= 10)等价的是( )。
| A. x <= 5 and y > 10 |
B. x > 5 or y <= 10 |
| C. x <= 5 or y > 10 |
D. not x > 5 and not y <= 10 |
