遞迴和非遞迴分別實現求n的階乘
//遞迴和非遞迴分別實現求n的階乘
#include<stdio.h>
#include<stdlib.h>
int a(int n)
{
if(n>1)
{
return n * a(n-1);
}
return 1;
}
int b(int n)
{
int s = 1;
for(; n>=1; n--)
{
s *= n;
}
return s;
}
int main()
{
int n = 0;
printf("請輸入n:\n");
scanf("%d",&n);
printf("%d!=%d\n",n,a(n));
printf("%d!=%d\n",n,b(n));
system("pause");
return 0;
}
注意:這裡我在剛開始寫遞迴的程式碼時,判斷條件是如果n=1;返回1;
這時候會進入遞迴但是得到的結果都將是1。希望大家在使用遞迴時一定要注意這個問題。
相關文章
- c#遞迴實現 階乘C#遞迴
- 二分法的簡單實現——-遞迴和非遞迴遞迴
- 斐波那契數列的遞迴和非遞迴實現遞迴
- 原:八皇后問題的遞迴和非遞迴Java實現遞迴Java
- 遞迴的列印和階乘運用遞迴
- 快速排序【遞迴】【非遞迴】排序遞迴
- 【演算法拾遺】二分查詢遞迴非遞迴實現演算法遞迴
- Android遍歷所有控制元件的遞迴和非遞迴實現Android控制元件遞迴
- python-動態規劃的遞迴、非遞迴實現Python動態規劃遞迴
- 斐波那契數列(Fibonacci)遞迴和非遞迴實現遞迴
- 歸併排序的非遞迴實現排序遞迴
- 遍歷二叉樹的遞迴與非遞迴程式碼實現二叉樹遞迴
- Vue3.0的遞迴監聽和非遞迴監聽Vue遞迴
- 遞迴和尾遞迴遞迴
- [java] 二叉樹的後序遍歷(遞迴與非遞迴實現)Java二叉樹遞迴
- fibonacci斐波那契數列詳解 遞迴求Fn非遞迴求Fn求n最近的斐波那契數遞迴
- 遍歷二叉樹-------遞迴&非遞迴二叉樹遞迴
- 資料結構初階--二叉樹(前中後序遍歷遞迴+非遞迴實現+相關求算結點實現)資料結構二叉樹遞迴
- Java遍歷資料夾的兩種方法(非遞迴和遞迴)Java遞迴
- C語言用遞迴方法求解階乘C語言遞迴
- 二十一、氣泡排序演算法——JAVA實現(遞迴與非遞迴)排序演算法Java遞迴
- Java語言非遞迴求第n個斐波那契數Java遞迴
- strcmp的遞迴實現遞迴
- 棧實現遞迴遞迴
- lambda實現遞迴遞迴
- python實現二叉樹及其七種遍歷方式(遞迴+非遞迴)Python二叉樹遞迴
- 揹包問題的遞迴與非遞迴演算法遞迴演算法
- Clojure編寫一個階乘程式 使用遞迴遞迴
- 快速排序(遞迴及非遞迴演算法原始碼)排序遞迴演算法原始碼
- 【C++】翻轉二叉樹(遞迴、非遞迴)C++二叉樹遞迴
- 關於樹型結構資料遞迴查詢,轉非遞迴查詢的實現遞迴
- 二叉樹的前中後序遍歷(遞迴和非遞迴版本)二叉樹遞迴
- 資料結構-樹以及深度、廣度優先遍歷(遞迴和非遞迴,python實現)資料結構遞迴Python
- 二叉樹的四種遍歷(遞迴與非遞迴)二叉樹遞迴
- oracle中的遞迴sql查詢 connect by prior實現遞迴Oracle遞迴SQL
- 兩種遞迴方式實現迴文字遞迴
- 遞迴實現原則遞迴
- 用棧+回溯+非遞迴解決N皇后問題遞迴