//循環法求斐波那契數 int feibo(int n) { int a = 1; int b = 1; int c = 1; while (n > 2) { c = a + b; a = b; b = c; n--; } return c; } //遞歸法求斐波那契數(效率低下) //int feibo(int n) //{ // if (n <= 2) // { // return 1; // } // else // return feibo(n - 1) + feibo(n - 2); //} int main() { int n = 0; scanf("%d", &n); int ret = feibo(n); printf("第%d個斐波那契數列值=%d\n",n, ret); return 0; }
用遞歸求N! int Fac2(int n) { int i = 0; int ret = 1; for (i = 1; i <= n; i++) { ret *= i; } return ret; } //int Fac1(n) //{ // if (n == 1) // { // return 1; // } // else // { // return n*Fac1(n - 1); // } //} int main() { int n = 0; int ret = 0; scanf("%d", &n); ret = Fac1(n); printf("%d\n", ret); return 0; }
遞歸初步理解 int my_strlen(char* str) { if (*str != '\0') return 1 + my_strlen(str + 1); else return 0; } int main() { char arr[] = "bit"; int len = my_strlen(arr); printf("len=%d\n",len); return 0; }