Advertisement
LessVegetables

Untitled

Mar 11th, 2023
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.00 KB | None | 0 0
  1. // Ханойские Башни
  2. // hw due 01.03.2023
  3. // касьянов. курс программирования на паскале
  4. // все задания на рекурсию (никаких циклов)
  5.  
  6. // стр 240 номер 6.2.2
  7.  
  8. #include <stdio.h>
  9.  
  10. void tow(int n, int s, int e, int m)
  11. {
  12.     if (n == 1)
  13.     {
  14.         printf("Move top disk from %d to %d\n", s, e);
  15.     }
  16.     else
  17.     {
  18.         tow(n - 1, s, m, e);    //relocating the top to the "empty" tower
  19.         tow(1, s, e, m);        // relocating the baseplate to the end goal
  20.         tow(n - 1, m, e, s);    // relocating the top part of the tower from the "empty" to the end goal
  21.     }
  22. }
  23.  
  24.  
  25. int main() {
  26.  
  27.     int n, s, e, m;
  28.  
  29.     printf("Enter the amount of rings:\t");
  30.     scanf("%d", &n);
  31.     printf("Enter the starting tower:\t");
  32.     scanf("%d", &s);
  33.     printf("Enter the ending tower:\t\t");
  34.     scanf("%d", &e);
  35.     m = 6 - s - e;
  36.    
  37.     //tow(3, 1, 3, 2);
  38.    
  39.     tow(n, s, e, m);
  40.  
  41.     return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement