【题目】一个农夫养了一批怪牛,一对牛每月繁殖一对小牛,小牛出生后三个月时间来生长,第四个月来繁殖。
输入牛的组数n,然后在输入n组,每组由两行组成:第一行是牛的对数,第二行是需要的成长时间;如此依次输入n组。
1 #include<iostream> 2 #include<vector> 3 using namespace std; 4 5 int cow(int month_num) 6 { 7 if (month_num<=4) 8 return month_num+1; 9 else 10 return cow(month_num-1)+cow(month_num-4); 11 } 12 int main() 13 { 14 int num,num_cow,month_num=0; 15 vector<int> num_sr; 16 vector<int>::iterator it; 17 18 cin>>num; 19 for(int i=1;i<=2*num;++i) 20 { 21 cin>>num_cow; 22 num_sr.push_back(num_cow); 23 } 24 for(it=num_sr.begin();it<=num_sr.end()-2;) 25 { 26 //cout<<*(it)<<endl; 27 int num_total=cow(*(++it)); 28 //cout<<*(it)<<endl; 29 //注意此处,上面的++it对迭代器进行了+1操作,it此时已经指向了it+1 30 cout<<(*(--it))*num_total<<endl; 31 it=it+2; 32 } 33 while(1); 34 }
++it相当于it=it+1;
二、不用迭代器
1 //使用两个vector,并且以数组形式取出迭代器里面的值 2 vector<int> dui; 3 vector<int> yue; 4 5 int num; 6 cin >> N; 7 for (i = 0; i < N; i++) 8 { 9 cin >> temp; 10 dui.push_back(temp); 11 cin >> temp; 12 yue.push_back(temp); 13 } 14 for (i = 0; i < N; i++) 15 { 16 num =cow(yue[i]); 17 cout << dui[i] * num << endl; 18 } 19 while (1); 20 }