当前位置: 首页 > news >正文

佛山论坛建站模板wordpress网站价格

佛山论坛建站模板,wordpress网站价格,腾讯虚拟主机,做网站的支付C# 使用递归方法实现汉诺塔步数计算 Part 1 什么是递归Part 2 汉诺塔Part 3 程序 Part 1 什么是递归 举一个例子:计算从 1 到 x 的总和 public int SumFrom1ToX(int x) {if(x 1){return 1;}else{int result x SumFrom1ToX_2(x - 1); // 调用自己return result…

C# 使用递归方法实现汉诺塔步数计算

  • Part 1 什么是递归
  • Part 2 汉诺塔
  • Part 3 程序

Part 1 什么是递归

举一个例子:计算从 1 到 x 的总和

public int SumFrom1ToX(int x)
{if(x == 1){return 1;}else{int result = x + SumFrom1ToX_2(x - 1);  // 调用自己return result;}
}

Part 2 汉诺塔

有三个石柱,在最左侧的石柱上从小到大摆放 N 层盘片,需要从最左侧的石柱移动到最右侧的石柱上,中间的石柱作为缓冲,一次只能移动一个盘片,且无论何时较小的盘片始终在较大的盘片上面。
这个问题求解这过程中搬运的次数

Part 3 程序

创建一个Move函数来移动盘子

static void Move(int pile, char src, char temp, char dst)
{}

pile 是最左侧的盘片数量,src 是起始点,temp 是中间的缓冲区,dst 是终点

Move(pile - 1, src, dst, temp); // 将pile-1层盘片从src经过dst移动到temp
Move(1, src, temp, dst); // 将最底层的盘片从src移动到dst
Move(pile - 1, tmp, src, dst); // 将pile-1层汉诺塔从temp经过src移动到dst

Move 方法的代码

static void Move(int pile, char src, char temp, char dst)
{if (pile == 1){Console.WriteLine($"{src} --> {dst}");steps++;return;}Move(pile - 1, src, dst, temp);Move(1, src, temp, dst);Move(pile - 1, temp, src, dst);
}

完整代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;namespace ConsoleHelloWorld
{class Hanoi{public static int steps = 0;public void ShowHanoiPath(int levels){Console.WriteLine("输入的汉诺塔层数是:{0}", levels);Move(levels, 'A', 'B', 'C');Console.WriteLine("一共移动了{0}次", steps);}static void Move(int pile, char src, char temp, char dst){if (pile == 1){Console.WriteLine($"{src} --> {dst}");steps++;return;}Move(pile - 1, src, dst, temp);Move(1, src, temp, dst);Move(pile - 1, temp, src, dst);}}class Program{static void Main(string[] args){Hanoi hanoi = new Hanoi();hanoi.ShowHanoiPath(4);}}
}

在这里插入图片描述

http://www.yayakq.cn/news/269320/

相关文章:

  • 鹤壁市淇滨区建设局网站集团网站 wordpress
  • 网站不让百度收录海南响应式网站建设制作
  • 网站白名单查询网站建设 主要学是么
  • 做百度推广送的网站友妙招链接
  • 邯郸做网站推广费用成都十大装修品牌装修公司
  • 家具网站建设规划书网页游戏公益服
  • 外贸网站高端定做社交网站的优点和缺点
  • 百度网站站长汕头市建设信息网
  • 给几个手机网站wordpress在哪注册
  • 雄安免费网站建设公司如何使网站能被百度搜到
  • 购物网站流量怎么做wordpress文章推荐
  • 动画制作软件电脑版湖南厦门网站优化
  • 二手交易平台的网站怎么做阿里云wordpress数据库
  • 帮别人做设计图的网站wordpress手机端和pc端兼容
  • 公司设计一个网站自建站 外贸
  • 网站黑链三维动画设计
  • 阿里云怎么放多个网站重庆特种作业证件查询
  • 站长工具综合查询站长工具wordpress文章列表不显示
  • 大连网站制作咨询做的比较好的返利网站知乎
  • 湖南建设银行网站是多少钱wordpress 下载
  • 上海网站域名注册外链百科
  • 沧州网站建设费用北京大兴网站制作推广
  • 推广普通话手抄报模板西安优化排名推广
  • 网站logo是指中关村在线手机对比平台
  • 引用网站信息怎么做备注做网站头视频
  • 高端定制网站是什么顺德家居企业网站建设
  • 创新的邯郸网站建设自媒体网站大全
  • 射阳建设网站wordpress4.8发布
  • wordpress主题免费中文版江苏优化网站公司
  • 网站建设论文的前言淮北市矿业工程建设公司网站