網頁

2018年1月2日 星期二

ex12 用遞迴撰寫hanoi tower河內塔

29 則留言:

  1. B10633105 劉晉良2018年1月2日 下午4:28

    #include <iostream>

    void hanoiTower(int n, char x, char y, char z);


    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std::cout << "Disk" << 1 << "from" << x << "to" << z'\n';
    } else {
    hanoiTower(n-1, x, y, z);
    std::cout << "Disk" << 1 << " from" << x << "to" << z'\n';
    hanoiTower(n-1, x, y, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  2. b10633091 楊子安2018年1月2日 下午4:32

    #include <iostream>

    void hanoiTower(int n, char x, char y, char z);


    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std::cout << "Disk" << 1 << "from" << x << "to" << z'\n';
    } else {
    hanoiTower(n-1, x, y, z);
    std::cout << "Disk" << 1 << " from" << x << "to" << z'\n';
    hanoiTower(n-1, x, y, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  3. B10633104 王湘柔2018年1月2日 下午4:34

    #include <iostream>

    void hanoiTower(int n, char x, char y, char z);


    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std::cout << "Disk" << 1 << "from" << x << "to" << z'\n';
    } else {
    hanoiTower(n-1, x, y, z);
    std::cout << "Disk" << 1 << " from" << x << "to" << z'\n';
    hanoiTower(n-1, x, y, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  4. b10633070 陳鴻琪2018年1月2日 下午4:34

    #include <iostream>

    void hanoiTower(int n, char x, char y, char z);


    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std::cout << "Disk" << 1 << "from" << x << "to" << z'\n';
    } else {
    hanoiTower(n-1, x, y, z);
    std::cout << "Disk" << 1 << " from" << x << "to" << z'\n';
    hanoiTower(n-1, x, y, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  5. A10633020 陳俐婷2018年1月2日 下午4:37

    #include <iostream>

    /* run this program using the console pauser or add your own getch, system("pause") or input loop */

    void hanoiTower(int n, char x, char y, char z){
    if(n == 1){
    std::cout << "Disk " << 1 << " from " << x << " to " << z <<'\n';
    }else{
    hanoiTower(n-1,x,y,z);
    std::cout << "Disk " << n << " from " << x << " to " << z <<'\n';
    hanoiTower(n-1,y,x,z);
    }
    }

    int main(int argc, char** argv) {
    hanoiTower(5,'a','b','c');
    return 0;
    }

    回覆刪除
  6. A10633022 黃皓銘2018年1月2日 下午4:37

    #include <iostream>

    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    void hanoiTower(int n, char x, char y, char z){

    if(n ==1){
    std::cout << "Disk " << 1 << " from " << x << " to " << z <<'\n';
    }else{
    hanoiTower(n-1, y, x, z);
    std::cout << "Disk " << n << " from " << x << " to " << z <<'\n';
    hanoiTower(n-1, y, x, z);
    }
    }

    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  7. A10633011 邱軍霖2018年1月2日 下午4:42

    #include <iostream>
    using namespace std;
    void move(int n, char a, char b){
    cout<<"Disc"<<n<<"從"<<a<<"到"<<b<<endl;
    }
    void hanoiTower(int n, char from_peg, char peg3, char to_peg)
    {
    if(n==1) move(n, from_peg, to_peg);
    else{
    hanoiTower(n-1, from_peg, to_peg, peg3);
    move(n, from_peg, to_peg);
    hanoiTower(n-1, peg3, from_peg, to_peg);

    }
    }
    int main()
    {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  8. B10633073 吳聲佑2018年1月2日 下午4:44

    #include <iostream>

    void hanoiTower(int n, char x, char y, char z);


    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std::cout << "Disk" << 1 << "from" << x << "to" << z'\n';
    } else {
    hanoiTower(n-1, x, y, z);
    std::cout << "Disk" << 1 << " from" << x << "to" << z'\n';
    hanoiTower(n-1, x, y, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  9. #include <iostream>

    using namespace std;
    void move(int n,char a,char b){
    cout<<"disc"<<n<<"從"<<a<<"到"<<b<<endl;
    }
    void hanoitower(int n,char from_peg,char peg3,char to_peg)
    {
    if(n==1) move(n, from_peg , to_peg);
    else{
    hanoitower(n-1, from_peg , to_peg , peg3);
    move(n, from_peg , to_peg );
    hanoitower(n-1 , peg3, from_peg , to_peg);
    }
    }

    int main()
    {
    hanoitower(5,'a','b','c');
    return 0;
    }

    回覆刪除
  10. A10633016張貴棠2018年1月2日 下午4:46

    #include <iostream>
    using namespace std;
    void move (int n, char a, char b){
    cout<<"Disc"<<n<<" 從"<<a<<"到"<<b<<endl;
    }
    void hanoiTower(int n, char from_peg, char peg3, char to_peg)
    {
    if(n==1) move(n, from_peg, to_peg);
    else{
    hanoiTower(n-1,from_peg, to_peg,peg3);
    move(n, from_peg, to_peg);
    hanoiTower(n-1,peg3, from_peg, to_peg);
    }
    }
    int main()
    {
    hanoiTower(5, 'a','b','c');
    return 0;
    }

    回覆刪除
  11. b10633080黃主賜2018年1月2日 下午4:46

    #include <iostream>

    void hanoiTower(int n, char x, char y, char z);


    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std::cout << "Disk" << 1 << "from" << x << "to" << z'\n';
    } else {
    hanoiTower(n-1, x, y, z);
    std::cout << "Disk" << 1 << " from" << x << "to" << z'\n';
    hanoiTower(n-1, x, y, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  12. b10633076謝昀憲2018年1月2日 下午4:51

    #include <iostream>

    void hanoiTower(int n, char x, char y, char z);


    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std::cout << "Disk" << 1 << "from" << x << "to" << z'\n';
    } else {
    hanoiTower(n-1, x, y, z);
    std::cout << "Disk" << 1 << " from" << x << "to" << z'\n';
    hanoiTower(n-1, x, y, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  13. B10633081 陳蕙祺2018年1月2日 下午4:51

    #include <iostream>

    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    void hanoiToewr(int n, char x, char y, char z) {

    if ( n == 1) {
    std::cout << "Disk "<< 1 << "form " << x << " to " << z <<'\n';
    } else {
    hanoiToewr(n-1, x, z, y);
    std::cout << "Disk "<< 1 << "form " << x << " to " << z <<'\n';
    hanoiToewr(n-1, x, z, y);
    }
    }
    int main(int argc, char** argv) {
    hanoiToewr(5, 'a','b','c');
    return 0;
    }

    回覆刪除
  14. b10633159 徐芳瑀2018年1月2日 下午4:51

    #include <iostream>

    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std ::cout << "Disk " << 1 << " from " << x << " to " << z <<'\n';
    } else {
    hanoiTower(n-1, x, z, y);
    std ::cout << "Disk " << 1 << " from " << x << " to " << z <<'\n';
    hanoiTower(n-1, x, z, y);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  15. B10633100 陳澔翰2018年1月2日 下午4:51

    #include <iostream>

    void hanoiTower(int n, char x, char y, char z);


    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std::cout << "Disk" << 1 << "from" << x << "to" << z'\n';
    } else {
    hanoiTower(n-1, x, y, z);
    std::cout << "Disk" << 1 << " from" << x << "to" << z'\n';
    hanoiTower(n-1, x, y, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  16. B10633086鄭羽伸2018年1月2日 下午4:52

    #include <iostream>

    void hanoiTower(int n, char x, char y, char z);


    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std::cout << "Disk" << 1 << "from" << x << "to" << z'\n';
    } else {
    hanoiTower(n-1, x, y, z);
    std::cout << "Disk" << 1 << " from" << x << "to" << z'\n';
    hanoiTower(n-1, x, y, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  17. B10533083徐士興2018年1月2日 下午4:56

    #include <iostream>


    void hanoitower(int n, char x, char y, char z ) {

    if (n == 1) {
    std::cout << "Disk " << 1 << " from " << x << " to "<< z <<'\n';
    } else {
    hanoiTower(n-1, x, z, y);
    std::cout << "Disk" << n << " from " << x << " to " << z<<'\n';
    hanoiTower(n-1, y, x, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  18. B10533088葉俊江2018年1月2日 下午4:56

    #include <iostream>


    void hanoitower(int n, char x, char y, char z ) {

    if (n == 1) {
    std::cout << "Disk " << 1 << " from " << x << " to "<< z <<'\n';
    } else {
    hanoiTower(n-1, x, z, y);
    std::cout << "Disk" << n << " from " << x << " to " << z<<'\n';
    hanoiTower(n-1, y, x, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  19. B10433015周采萱2018年1月2日 下午4:59

    using namespace std;
    void move(int n, char a, char b){
    cout<<"Disk "<<n<<" from "<<a<<" to "<<b<<endl;
    }
    void hanoiTower(int n, char from_peg, char peg3, char to_peg)
    {
    if(n==1) move(n, from_peg, to_peg);
    else{
    hanoiTower(n-1, from_peg, to_peg, peg3);
    move(n, from_peg, to_peg);
    hanoiTower(n-1, peg3, from_peg, to_peg);
    }
    }
    int main() {
    hanoiTower(5,'a','b','c');
    return 0;
    }

    回覆刪除
  20. B10633064 徐敏嫣2018年1月2日 下午5:16

    void hanoiTower(int n, cher x, cher y, cher z) {

    if (n == 1){
    std::count << "Disk " << 1 << " from " << x << " to " << z <<'\n';
    } else {
    hanoiTower(n-1, x, z, y);
    std::count << "Disk " << n << " from " << x << " to " << z <<'\n';
    hanoiTower(n-1, y, x, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  21. B10633082 張瑋芹2018年1月2日 下午5:17

    void hanoiTower(int n, cher x, cher y, cher z) {

    if (n == 1){
    std::count << "Disk " << 1 << " from " << x << " to " << z <<'\n';
    } else {
    hanoiTower(n-1, x, z, y);
    std::count << "Disk " << n << " from " << x << " to " << z <<'\n';
    hanoiTower(n-1, y, x, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  22. B10633079 劉佩儒2018年1月2日 下午5:18

    void hanoiTower(int n, cher x, cher y, cher z) {

    if (n == 1){
    std::count << "Disk " << 1 << " from " << x << " to " << z <<'\n';
    } else {
    hanoiTower(n-1, x, z, y);
    std::count << "Disk " << n << " from " << x << " to " << z <<'\n';
    hanoiTower(n-1, y, x, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  23. B10537208楊蕊筑2018年1月3日 下午2:15

    #include
    using namespace std;
    void move (int n, char a, char b){
    cout<<"Disc"<<n<<" 從"<<a<<"到"<<b<<endl;
    }
    void hanoiTower(int n, char from_peg, char peg3, char to_peg)
    {
    if(n==1) move(n, from_peg, to_peg);
    else{
    hanoiTower(n-1,from_peg, to_peg,peg3);
    move(n, from_peg, to_peg);
    hanoiTower(n-1,peg3, from_peg, to_peg);
    }
    }
    int main()
    {
    hanoiTower(5, 'a','b','c');
    return 0;
    }

    回覆刪除
  24. b10533085羅偉辰2018年1月5日 清晨6:50

    #include

    void hanoiTower(int n, char x, char y, char z);


    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std::cout << "Disk" << 1 << "from" << x << "to" << z'\n';
    } else {
    hanoiTower(n-1, x, y, z);
    std::cout << "Disk" << 1 << " from" << x << "to" << z'\n';
    hanoiTower(n-1, x, y, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  25. b10433088葉凱文2018年1月7日 下午4:44

    #include

    void hanoiTower(int n, char x, char y, char z);


    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std::cout << "Disk" << 1 << "from" << x << "to" << z'\n';
    } else {
    hanoiTower(n-1, x, y, z);
    std::cout << "Disk" << 1 << " from" << x << "to" << z'\n';
    hanoiTower(n-1, x, y, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  26. b10533063陳廣制2018年1月9日 晚上10:11

    #include
    using namespace std;
    void move (int n, char a, char b){
    cout<<"Disc"<<n<<" 從"<<a<<"到"<<b<<endl;
    }
    void hanoiTower(int n, char from_peg, char peg3, char to_peg)
    {
    if(n==1) move(n, from_peg, to_peg);
    else{
    hanoiTower(n-1,from_peg, to_peg,peg3);
    move(n, from_peg, to_peg);
    hanoiTower(n-1,peg3, from_peg, to_peg);
    }
    }
    int main()
    {
    hanoiTower(5, 'a','b','c');
    return 0;
    }

    回覆刪除
  27. b10533063陳廣制2018年1月9日 晚上10:11

    #include
    using namespace std;
    void move (int n, char a, char b){
    cout<<"Disc"<<n<<" 從"<<a<<"到"<<b<<endl;
    }
    void hanoiTower(int n, char from_peg, char peg3, char to_peg)
    {
    if(n==1) move(n, from_peg, to_peg);
    else{
    hanoiTower(n-1,from_peg, to_peg,peg3);
    move(n, from_peg, to_peg);
    hanoiTower(n-1,peg3, from_peg, to_peg);
    }
    }
    int main()
    {
    hanoiTower(5, 'a','b','c');
    return 0;
    }

    回覆刪除
  28. b10533063陳廣制2018年1月9日 晚上10:12

    #include

    void hanoiTower(int n, char x, char y, char z);


    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std::cout << "Disk" << 1 << "from" << x << "to" << z'\n';
    } else {
    hanoiTower(n-1, x, y, z);
    std::cout << "Disk" << 1 << " from" << x << "to" << z'\n';
    hanoiTower(n-1, x, y, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除
  29. b10533063陳廣制2018年1月9日 晚上10:14

    #include

    void hanoiTower(int n, char x, char y, char z);


    void hanoiTower(int n, char x, char y, char z) {

    if (n == 1) {
    std::cout << "Disk" << 1 << "from" << x << "to" << z'\n';
    } else {
    hanoiTower(n-1, x, y, z);
    std::cout << "Disk" << 1 << " from" << x << "to" << z'\n';
    hanoiTower(n-1, x, y, z);
    }
    }
    int main(int argc, char** argv) {
    hanoiTower(5, 'a', 'b', 'c');
    return 0;
    }

    回覆刪除

HTML 編輯器