回覆列表
  • 1 # 一個殺豬的詩人

    如果要加300分,可能要開2貼了,因為1貼最多隻能200分,追加最多隻能50分。你給的那個解法,寫的本來就有問題。不信,你自己試試這個程式:#include<stdio.h>//非遞迴解法int akm_nonrecursive(int m, int n) { int m1[50], n1[50], cp; cp = 0; m1[0] = m; n1[0] = n; do { while (m1[cp] > 0) { /* 壓棧, 直到m1[cp] = 0 */ while (n1[cp] > 0) { /* 壓棧, 直到n1[cp] = 0 */ cp++; m1[cp] = m1[cp - 1]; n1[cp] = n1[cp - 1] - 1; } /* 計算akm(m - 1, 1),當n = 0時 */ m1[cp] = m1[cp] - 1; n1[cp] = 1; } /* 改棧頂為akm(m - 1, n + 1),當m = 0時 */ cp--; m1[cp] = m1[cp] - 1; n1[cp] = n1[cp + 1] + 1; } while (cp > 0 || m1[cp] > 0); return n1[0] + 1; } int main(){printf("%d\n",akm_nonrecursive(0,2));printf("%d\n",akm_nonrecursive(2,0));printf("%d\n",akm_nonrecursive(2,3));return 0;}

  • 中秋節和大豐收的關聯?
  • 裝修行業如何找活?