13周:汉诺塔改编
2012-11-24 17:11
302 查看
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院 * All rightsreserved. * 文件名称:1.cpp * 作 者:李慧慧 * 完成日期:2012年11月24日 * 版 本 号: v1.0 * 输入描述:略 * 问题描述:略 * 程序输出:盘子移动的次数 * 问题分析:略 */ #include<iostream> using namespace std; long move(int x,char A,char B,char C); int main() { long count; count=move(6,'A','B','C'); cout<<6<<"个盘子移动次数"<<count<<"次"<<endl; return 0; } long move(int n,char A,char B,char C) { long i,j; if(n==1){ return 1; } else{ i=move(n-1,A,C,B); j=move(n-1,B,A,C); return i+j+1; }
运行结果:
嘿嘿,这样做做、、、