#include <iostream> using namespace std; int main(){ int t[365]={}; int n,a,b,m; cin>>n>>a>>b>>m; t[1]=a; t[2]=b; for(int i=3;i<=n;i++){ t[i]=t[i-1]+t[i-2]; } int sum=0; for(int i=1;i<=n;i++){ sum+=t[i]; if(t[i]>=m) break; } cout<<sum; return 0; } ------------ 序列容器:array,deque,vector,forward_list,list(线性) 关联容器:set集合,map映射(树形结构,便于排序) set<int> s; s.insert(5); s.insert(3); s.insert(8); s.insert(5); for(auto i=s.begin();i!=s.end();i++){ cout<<*i;//将i指向的地址的内容输出 3 5 8 } map<string,int> mp;//有两个类型组成一个整体,也叫一对,或键值对 mp.insert(make_pair("haha",7));//make_pair 将括号里的两个数据组成一对,再存放到map中 mp.insert(make_pair("hbhb",5)); mp.insert(make_pair("aaa",6)); mp.insert(make_pair("hbhb",8));//跳过 //映射独有的方法:下标法,以键为下标 mp["bbb"]=6; mp["hchc"]=9; mp["haha"]=3;//覆盖 遍历方式: for(map<string,int>::iterator i=mp.begin();i!=mp.end();i++){ cout<<i->first<<" "<<i->second;//first代表第一个元素(键) second(值) } for(auto i=mp.begin();i!=mp.end();i++){ cout<<i->first<<" "<<i->second; } 单个数据输出,通过下标法完成 cout<<mp["aaa"];//6 cout<<mp["haha"];//3 容器适配器:stack栈,queue队列,priority_queue优先队列 stack:先进后出,后进先出,有栈顶和栈底,存和取通过栈顶完成 stack<int> s; s.push(5);//存5 s.push(3);//存3 s.push(2);//存2 while(!s.empty()){//只要s不为空,就执行循环 cout<<s.top();//输出栈顶元素 s.pop();//移除栈顶元素 } (责任编辑:admin) |