c语言程序中要用到阶乘,C程序使用递归求数字的阶乘
C程序使用遞歸求數字的階乘
在此示例中,您將學習查找用戶使用遞歸輸入的非負整數的階乘。
要理解此示例,您應該了解以下C語言編程主題:
正數n的階乘由下式給出:
示例factorial?of?n?(n!)?=?1?*?2?*?3?*?4?*...??*?n
負數的階乘不存在。 階乘0為1。
在本示例中,您將學習使用遞歸查找數字的階乘。訪問此頁面以了解如何使用循環求數字階乘。
使用遞歸的階乘#include
long?int?multiplyNumbers(int?n);
int?main()?{
int?n;
printf("輸入一個正整數:?");
scanf("%d",&n);
printf("%d?的階乘?=?%ld",?n,?multiplyNumbers(n));
return?0;
}
long?int?multiplyNumbers(int?n)?{
if?(n>=1)
return?n*multiplyNumbers(n-1);
else
return?1;
}
輸出結果輸入一個正整數:?6
6?的階乘?=?720
假設用戶輸入了6。
最初,從main()調用multipleNumbers(),并將6作為參數傳遞。
然后,將5從同一函數傳遞給multipleNumbers()(遞歸調用)。 在每個遞歸調用中,參數n的值都減1。
當n的值小于1時,沒有遞歸調用,并且階乘最終返回給main()函數。
總結
以上是生活随笔為你收集整理的c语言程序中要用到阶乘,C程序使用递归求数字的阶乘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5G标准之争
- 下一篇: input 监听回车键