小杨做题c++

题目描述

为了准备考试,小杨每天都要做题。第1天,小杨做了a道题;第2天,小杨做了b道题;从第3天起,小杨每天做的题目数量是前两天的总和。

此外,小杨还规定,当自己某一天做了大于或等于m题时,接下来的所有日子里,他就再也不做题了。

请问,到了第N天,小杨总共做了多少题呢?

输入

总共4行。第一行一个整数a,第二行一个整数b,第三行一个整数m,第四行一个整数N。

保证0≤a,b≤10; a,b<M ≤1,000,000; 3≤N≤364。

输出

一行一个整数,表示小杨N天里总共做了多少题目。

样例输入

复制代码
1
2
10
5

样例输出

19

样例解释

小杨第一天做1题,第二天做2题,第三天做1+2=3题,第四天做2+3=5题,第五天做3+5=8题。因此他总共做了1+2+3+5+8=19题

代码如下:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
long long a,b,m,n,x[365],s;
int main(){
	cin>>a>>b>>m>>n;
	x[1]=a;
	x[2]=b;
	s=a+b;//注意:s要预先加上a与b
	for(int i=3;i<=n;i++){
		x[i]=x[i-1]+x[i-2];//每天做的题目数量是前两天的总和
		s+=x[i];
		if(x[i]>=m) break;//当某一天做了大于或等于m题时,接下来的所有日子里就再也不做题了
	}
	cout<<s;
    return 0;
}

或者不用数组,可以把核心部分换成:

(当然还要定义一下c )

相关推荐
W23035765736 小时前
经典算法:最长上升子序列(LIS)深度解析 C++ 实现
开发语言·c++·算法
.Ashy.6 小时前
2026.4.11 蓝桥杯软件类C/C++ G组山东省赛 小记
c语言·c++·蓝桥杯
minji...7 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
CoderCodingNo9 小时前
【GESP】C++三级真题 luogu-B4499, [GESP202603 三级] 二进制回文串
数据结构·c++·算法
hetao173383711 小时前
2026-04-09~12 hetao1733837 的刷题记录
c++·算法
6Hzlia11 小时前
【Hot 100 刷题计划】 LeetCode 136. 只出现一次的数字 | C++ 哈希表&异或基础解法
c++·算法·leetcode
汉克老师11 小时前
GESP2024年6月认证C++三级( 第二部分判断题(1-10))
c++·数组·位运算·补码·gesp三级·gesp3级
无限进步_12 小时前
【C++】只出现一次的数字 II:位运算的三种解法深度解析
数据结构·c++·ide·windows·git·算法·leetcode
小贾要学习12 小时前
【Linux】TCP网络通信编程
linux·服务器·网络·c++·网络协议·tcp/ip
哎嗨人生公众号13 小时前
手写求导公式,让轨迹优化性能飞升,150ms变成9ms
开发语言·c++·算法·机器人·自动驾驶