#include <stdio.h>
int count = 0; char str[100];
void search(int nStaircases, int nSteps = 0) { if (nStaircases < 0) // 不能多走几阶梯 return; if (nStaircases == 0) // 走完了所有阶梯时 { if (nSteps % 2 == 0) // 走了刚好偶数步 { str[nSteps] = '\0'; //puts(str); count++; // 方案可行 } return; } str[nSteps] = '1'; search(nStaircases - 1, nSteps + 1); // 走一步 str[nSteps] = '2'; search(nStaircases - 2, nSteps + 1); // 走两步 }
int main(void) { search(39); printf("%d\n", count); return 0; }
|