#include <iostream> using namespace std; int n,a,b,m; int main(){ cin>>n>>a>>b>>m; int c,sum=0; sum=a+b; for(int i=3;i<=n;i++){ c=a+b;//斐波那契下一项公式 sum+=c;//累加 if(c>=m) break;//超范围,停止写题 a=b;//移项 b=c;//移项 } cout<<sum; return 0; } 今天完成3月2级,明天开始3级难度。 算法库和stl库 算法库 <algorithm> https://noicode.online/exclusivetomembers/algorithm.html 一部分是c++标准库自带的 max()两个数选最大,min()两个数找最小,swap()两个数交换 sort()一段序列排序,find()查找,count()统计,reverse()倒序 unique()去重 stl库:c++模板库 每一种容器对应一个工具包 array 数组的类模板:常用的数组 int a[100]; deque 双向队列:可以快速进行头插、头删、尾插、尾删,不需要原数据位移。 vector 向量:可变长度的数组 array、deque、vector都是在内存中,连续存放数据的容器,因此都可以使用下标 创建一个容器语法:容器名<类型> 变量名; vector<char> vc;//数组写法 char vc[100]; deque<int> di; //数组写法 int di[100]; 存数据:普通数组 for(int i=0;i<n;i++) cin>>a[i]; 存数据:容器 int num; for(int i=0;i<n;i++){ cin>>num; di.push_back(num);//将num放在di结构的末尾 } di.push_front(x);//在di的前面放一个新的值x di.pop_front();//将di的最前面的数据删除 di.pop_back();//将di的最后面的数据删除 front 代表前 back 代表后 push 放 pop 删 因为deque是双向队列,所以 前 后 都能用 但是,vector和array都只是单向的,因此,只能push_back(num)和pop_back(); forward_list list ... 在stl模板库中都有 https://noicode.online/exclusivetomembers/muban.html (责任编辑:admin) |