解题思路:
#include <bits/stdc++.h>
using namespace std;
int pd(int m){
if(m<=0) return 0;
if(m==1) return 1;
if(m==2) return 1;
return pd(m-1)+pd(m-2);
}
int main()
{ int n;cin>>n;
for(int i=1;i<=n;i++){
int m;cin>>m;
cout<<pd(m)<<endl;
}
}
#include <bits/stdc++.h>
using namespace std;
int sum;
void pd(int step,int m){
if(step>m) return;
if(step==m) { sum++ ;return;}
pd(step+1,m);
pd(step+2,m);
//程序运行时,先从1开始不断+1,+1,一直到step==m,得到sum=1,然后返回一级此时step=m-1,再+2,因>m,return,此时step=m-2,再+2,得sum=2,
//这样循环往复,能得到所有组合
}
int main()
{ int n;cin>>n;
for(int i=1;i<=n;i++){
int m;cin>>m;
sum=0;
pd(1,m);
cout<<sum<<endl;
}
}
注意事项:
参考代码:
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:558 |
妹子杀手的故事 (C语言代码)浏览:690 |
简单的a+b (C语言代码)浏览:760 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:690 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:596 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:262 |
剪刀石头布 (C++代码)浏览:1712 |
C二级辅导-计负均正 (C语言代码)浏览:482 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:491 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:468 |