考研代码题: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;
}
相关推荐
苦 涩13 小时前
考研408笔记之数据结构(五)——图
数据结构·笔记·考研
羊小猪~~1 天前
MYSQL学习笔记(四):多表关系、多表查询(交叉连接、内连接、外连接、自连接)、七种JSONS、集合
数据库·笔记·后端·sql·学习·mysql·考研
计软考研大C哥1 天前
【25考研】也很难!清华大学计算机考研复试难度分析!
考研
一个通信老学姐2 天前
专业138总分400+中国科学技术大学843信号与系统考研中科大电子信息通信生医先研,真题,大纲,参考书。
考研·信息与通信·信号处理
计软考研大C哥2 天前
【25考研】考清华的软件工程专业的研究生需要准备什么?
经验分享·考研·软件工程
贾贾20232 天前
什么是配电网?其在我们生活中扮演怎样的角色?本文给予解答
运维·笔记·考研·面试·生活·能源·制造
混沌的矩阵2 天前
【自动控制原理】非线性系统 描述函数法 相平面法
考研·自动化
自动化考研联盟3 天前
25届杭州电子科技大学自动化考研复试攻略
运维·考研·自动化
懒洋洋爱睡觉4 天前
考研计算机组成原理——零基础学习的笔记
笔记·学习·考研