zoukankan
html css js c++ java
睡不着,随便写了下汉诺塔的解决方法。
using
System;
using
System.Collections.Generic;
using
System.Text;
namespace
ConsoleApplication1
{
class
Program
{
static
void
Main(
string
[] args)
{
int
times
=
new
HanoiTower(
3
).SolveTower();
Console.WriteLine(
"
一共需要{0}次
"
, times);
Console.ReadKey();
}
}
class
HanoiTower
{
private
int
plates;
public
HanoiTower(
int
plates)
{
this
.plates
=
plates;
}
public
int
SolveTower()
{
return
SolveTower(plates,
"
A
"
,
"
B
"
,
"
C
"
);
}
private
int
SolveTower(
int
plates,
string
a,
string
b,
string
c)
{
int
count
=
0
;
if
(plates
<=
0
)
throw
new
ArgumentOutOfRangeException(
"
plates
"
,
"
盘子数必须是大于0的整数
"
);
if
(plates
==
1
)
{
move(a, c);
return
1
;
}
count
+=
SolveTower(plates
-
1
, a, c, b);
count
+=
SolveTower(
1
, a, b, c);
count
+=
SolveTower(plates
-
1
, b, a, c);
return
count;
}
private
void
move(
string
a,
string
c)
{
Console.WriteLine(a
+
"
=>
"
+
c);
}
}
}
张旋(zxsoft)
如对本文有什么疑问,请在下面写下留言,谢谢!
查看全文
相关阅读:
【Autofac】- 创建的类的生命周期
SQL Server 性能调优 之执行计划(Execution Plan)调优
SQL Server 监测语句
机器学习进阶-案例实战-图像全景拼接-图像全景拼接(RANSCA) 1.sift.detectAndComputer(获得sift图像关键点) 2.cv2.findHomography(计算单应性矩阵H) 3.cv2.warpPerspective(获得单应性变化后的图像) 4.cv2.line(对关键点位置进行连线画图)
机器学习进阶-案例实战-图像全景拼接-书籍SIFT特征点连接 1.cv2.drawMatches(对两个图像的关键点进行连线操作)
机器学习进阶-图像特征sift-SIFT特征点 1.cv2.xfeatures2d.SIFT_create(实例化sift) 2. sift.detect(找出关键点) 3.cv2.drawKeypoints(画出关键点) 4.sift.compute(根据关键点计算sift向量)
机器学习进阶-图像特征harris-角点检测 1.cv2.cornerHarris(进行角点检测)
机器学习进阶-项目实战-信用卡数字识别 1.cv2.findContour(找出轮廓) 2.cv2.boudingRect(轮廓外接矩阵位置) 3.cv2.threshold(图片二值化操作) 4.cv2.MORPH_TOPHAT(礼帽运算突出线条) 5.cv2.MORPH_CLOSE(闭运算图片内部膨胀) 6. cv2.resize(改变图像大小) 7.cv2.putText(在图片上放上文本)
机器学习进阶-直方图与傅里叶变换-傅里叶变换(高低通滤波) 1.cv2.dft(进行傅里叶变化) 2.np.fft.fftshift(将低频移动到图像的中心) 3.cv2.magnitude(计算矩阵的加和平方根) 4.np.fft.ifftshift(将低频和高频移动到原来位置) 5.cv2.idft(傅里叶逆变换)
机器学习进阶-直方图与傅里叶变化-直方图均衡化 1.cv2.equalizeHist(进行直方图均衡化) 2. cv2.createCLAHA(用于生成自适应均衡化图像)
原文地址:https://www.cnblogs.com/zxsoft/p/1210400.html
最新文章
后Selenium时代,网页自动化测试用Cypress
【渗透测试】如何利用burpsuite测试无回显漏洞
【渗透测试】如何使用burpsuite对特殊密码进行爆破
渗透测试之无文件渗透简单使用-windows
阿里巴巴开源性能监控神器Arthas初体验
快速构造性能测试数据的一个方案
2018全球十大测试工具Top2 Katalon
稳定UI运行结果-自动化测试失败重试和截图
php array_walk_recursive函数的使用
php实现echo json_encode正确显示汉字
热门文章
php实现json
js入门实例
php cookies自动登录
密码登陆
php薪资
【EasyNetQ】- 简介
【EasyNetQ】- 快速开始
Cache的封装和使用
ASP.NET MVC如何使用输出缓存
关于aspnet_regsql使用方法
Copyright © 2011-2022 走看看