小乐乐上课需要走n阶台阶,因为他腿比较长,所以每次可以选择走一阶或者走两阶,那么他一共有多少种走法?
#include <stdio.h> int Steps(int n) { //剩0台阶一个走法,剩一个台阶一种走法 //剩两个台阶两种走法,一步一步走,两步走 if(n == 0) return 0; if(n == 1) return 1; if(n == 2) return 2; //走两步的走法加上走一步的走法就是总的走法 return Steps(n-1) + Steps(n-2); } int main() { int n = 0; scanf("%d", &n); int st = Steps(n); printf("%d", st); return 0; }
#include <stdio.h> int method(int x) { if (x > 1) return method(x - 1) + method(x - 2); return 1; } int main() { int input = 0; while (scanf("%d", &input) != EOF) { int num = method(input); printf("%d\n", num); } return 0; }