1 条题解
-
0
【解题思路】
在 n 天里,每天做的题是前两天之和(前两天除外),当某天的做题量超过了 m,那么以后的日子将不会再做题。
我们使用ans变量来记录已做的题目总数,初始值为
ans=a + b
。使用c变量来计算每天的题目数量。在for循环中,从第3天开始计算每天的题目数量。首先,计算当天的题目数量,并将其累加到中。然后,更新和的值,将赋值为原来的,将赋值为。
在每次循环中,检查是否大于等于。如果是,则跳出循环。因为题目要求当题数大于等于时,接下来的所有日子里不再做题。
循环结束后,输出的值,即小杨总共做的题目数量。
【参考程序】
#include <bits/stdc++.h> using namespace std; long long a, b, m, n, ans, c; int main() { cin>>a>>b>>m>>n; ans = a+b; for(int i=3; i<=n; i++) { c = a+b; ans += c; a = b; b = c; if(c>=m) break; } cout<<ans; return 0; }
- 1
信息
- ID
- 559
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 5
- 标签
- 递交数
- 406
- 已通过
- 142
- 上传者