递归例题

//求最大公约数
#include <iostream>
using namespace std;
int big(int a,int b){
	if(a%b==0){
		return b;
	}else{
		return big(b,a%b);
	}
}
int main(int argc, char** argv) {
	int a,b;
	cin>>a>>b;
	cout<<big(a,b);
	
	return 0;
}
//  小青蛙跳台阶问
#include <iostream 
using namespace std;
int big(int n) {
 	if(n<=2){ 
 		return 1;
  	} 
 	return big(n-2)+big(n-1); 
 
}
 int main(int argc, char** argv) {
  	int n,k; 
 	cin>>n; 
 	cout<<big(n+1);
	return 0; 
}
 //回文字符串判断 
#include <iostream> 
#include <string> 
using namespace std;
int i=0,k=0;
bool big(string b){
	k=b.size()-1; 
	i=0; 
	if(i<k){ 
		 if(b[i]!=b[k]){//跳出递归
		  	return 0; 
		 }else{ 
		 	return big(b.substr(i+1,k-1)); 
		 } 
	 } 
	 return 1;
 } 
int main() {
  	string a; 
 	cin>>a; 
 	cout<<big(a); 
 
 return 0;
 }
  

  

posted @ 2023-07-31 20:17  fushuxuan1  阅读(15)  评论(0)    收藏  举报