考研代码题:10.10 汉诺塔 爬楼梯 取球 猴子吃桃

汉诺塔

C语言 - 汉诺塔详解(最简单的方法,进来看看就懂)_汉诺塔c语言程序详解-CSDN博客

cpp 复制代码
#include <stdio.h>

void move(char begin,char end){
	printf("%c->%c\n",begin,end);
}
//begin开始杆,help辅助杆,end目的杆 
void honi(int n,char begin,char help,char end){
       if(n==1){
       	 move(begin,end);
	   }
	   else{
	   	//按照位置表示作用
		//1.开始杆2.辅助杆3. 目的杆
		//将上面的n-1个盘子借助目的杆(end)移动到辅助杆(help) 
	   	honi(n-1,begin,end,help);
	   	//将最下面第n个盘子移动到目的杆 
	   	move(begin,end);
	   	// 将现在在辅助杆子上n-1个盘子借助开始杆子移动到目的杆 
	   	honi(n-1,help,begin,end);
	   }
}

int main(){
	int n;
	scanf("%d",&n);
	char a = 'A',b = 'B',c = 'C';
	honi(n,a,b,c);
	return 0;
}
爬楼梯
cpp 复制代码
#include <stdio.h>


int stair(int n){
      if(n==1){
      	return 1;
	  }
	  else if(n==2){
	  	return 2;
	  } 
	  return stair(n-1)+stair(n-2); 
}

int main(){
	int n;
	scanf("%d",&n);
	printf("%d",stair(n));
	return 0;
}
取球问题

算法------取球问题(特殊球法)-CSDN博客

cpp 复制代码
#include <stdio.h>


int ball(int n,int m){
      if(n<m){
      	return 0;
	  }
	  //m==0,只有一种情况:都不取 
	  if(m==0) return 1;
	  if(n==m){
	  	return 1;
	  }
	  //设置一个特殊球,一个不选这个特殊球ball(n-1,m),一个选ball(n-1,m-1)
	  return ball(n-1,m)+ball(n-1,m-1); 
}

int main(){
	int n,m;
	scanf("%d %d",&n,&m);
	printf("%d",ball(n,m));
	return 0;
}
猴子吃桃

2、猴子吃桃问题。每天早上都吃了前一天剩下的一半零一个。_猴子吃桃子,每天吃桃子的一半零一个-CSDN博客

cpp 复制代码
#include <stdio.h>


int peach(int day,int n){
      if(day>=n){
      	return 1;
	  }
	  return (peach(day+1,n)+1)*2;
}

int main(){
	int n,day;
	scanf("%d",&n); 
	printf("%d",peach(1,n));
	return 0;
}
相关推荐
killerbasd3 天前
总结 10.09
考研
m0_565827375 天前
定语从句,考研长难句头号考点
考研
m0_565827375 天前
名词性从句,考研长难句核心考点
考研
killerbasd5 天前
总结 10.08
考研
南风微微吹6 天前
考研数学一、二、三历年真题及答案解析PDF(1987-2026年)
考研·pdf
killerbasd6 天前
总结 10.07
考研
通信考研小马哥7 天前
河北工程大学807考研:线上复试,录取分数与参考书目
考研·通信考研·信号与系统·河北工程大学·27考研
Zootopia6267 天前
论文复现|五机编队任务链
c语言·c++·考研·无人机·创业创新·学习方法·高考
唐维康8 天前
昆工计算机408考研2027招285人,比去年少6人
人工智能·考研·昆明理工大学
humors2218 天前
【转】理解文中重要句子的含义
学习·考研·读书·升学·阅读理解·语文·中心句