#include <stdio.h>void Hanoi(int i, char a, char b, char c);void Move(int n, char a, char b);int main(){ int n; PRintf("please input the number of disk"); scanf("%d", &n); printf("step of move %d disks from A to B by mean of C:/n", n); Hanoi(n, 'A', 'B', 'C'); return 0;}void Hanoi(int i, char a, char b, char c){ int n = i; if(n == 1) Move(n, a, b); else { Hanoi(n - 1, a, c, b); // A -> C Move(n, a, b); // A -> B Hanoi(n - 1, c, b, a); // C -> B }}void Move(int n, char a, char b){ printf("move %d :from %c to %c /n", n, a, b);}
#include<stdio.h>int fib(int n);int main(){ int n, i; scanf("%d", &n); for (i = 0; i <= n; i++) { printf("fib(%d)=%d/n", i, fib(i)); } return 0;}int fib(int n){ if (n ==0 ) return 0; else if(n ==1) return 1; else { return fib(n-1) + fib(n-2); }}
辗转相除(迭代)
#include <stdio.h>int MaxCommonFactor(int a, int b);int main(){ int a, b, x; printf("Input a,b:"); scanf("%d,%d", &a, &b); x =MaxCommonFactor(a, b); if (x != -1) { printf("MaxCommonFactor = %d/n", x); } else { printf("Input error!/n"); } return 0;}//函数功能: 计算两个正整数的最大公约数,-1表示没有最大公约数int MaxCommonFactor(int a, int b){ int r; if (a<=0 || b<=0) return -1; // 保证输入的参数为正整数 do{ r = a % b; a = b; b = r; }while (r != 0); return a;}