所謂n的階乘就是從1到n的累積,所以可以通過一個(gè)for循環(huán),從1到n依次求積即可。
創(chuàng)新互聯(lián)是專業(yè)的冷水灘網(wǎng)站建設(shè)公司,冷水灘接單;提供做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行冷水灘網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
參考代碼:
#include "stdio.h"
int main() {
int n,i,s=1。
scanf("%d",n)。
for(i=1;i=n;i++)//for循環(huán)求累積。
s=s*i。
printf("%d\n",s)。
return 0。
注意事項(xiàng):
1、任何大于1的自然數(shù)n階乘表示方法:n!=1×2×3×……×n 或 n!=n×(n-1)。
2、n的雙階乘:當(dāng)n為奇數(shù)時(shí)表示不大于n的所有奇數(shù)的乘積。
如:7!=1×3×5×7。
3、當(dāng)n為偶數(shù)時(shí)表示不大于n的所有偶數(shù)的乘積。
如:8!=2×4×6×8。
4、小于0的整數(shù)-n 的階乘表示:
(-n)!= 1 / (n+1)。
5、0的階乘:0!=0。
6、組合數(shù)公式。
下構(gòu)思下程序的基礎(chǔ), 讓用戶自定義輸入一個(gè)數(shù)作為階乘數(shù), 當(dāng)超過20時(shí),輸出“Nis too big”. 需要用到IF函數(shù),以下為詳細(xì)過程。 #includeiostream us
int getFactorial(int data) //求階乘;bai
{
int resData=1;
for (int i=0;idata;i++)
{
duresData*=i;
}
return resData;
}
擴(kuò)展資料:
0!=1。
定義的必要性
由于正整數(shù)的階乘是一種連乘運(yùn)算,而0與任何實(shí)數(shù)相乘的結(jié)果都是0。所以用正整數(shù)階乘的定義是無法推廣或推導(dǎo)出0!=1的。即在連乘意義下無法解釋“0!=1”。
給“0!”下定義只是為了相關(guān)公式的表述及運(yùn)算更方便。
參考資料來源:百度百科-n!
1、打開vs6.0軟件,準(zhǔn)備一個(gè)后綴為cpp的文件,在c++文件中首先寫入頭文件,定義一個(gè)處理階乘的函數(shù),接著寫一個(gè)空的main函數(shù):
2、接著是階乘recv函數(shù)邏輯,該函數(shù)有一個(gè)形參n用來接收輸入的數(shù)。n的階乘是所有正整數(shù)的乘積,這里的處理是sum不斷的用遞歸的方法乘以recv函數(shù)的輸入數(shù),每次相乘n的值都減1;主函數(shù)中用一個(gè)cin函數(shù)接受用戶輸入的數(shù),之后調(diào)用recv處理階乘,最后則是輸出結(jié)果:
3、程序編寫完成,最后編譯運(yùn)行,輸入任意一個(gè)數(shù),最終會(huì)打印出計(jì)算的結(jié)果。以上就是用C++求階乘的方法:
1、打開visual C++軟件,新建任務(wù),鼠標(biāo)左鍵點(diǎn)擊文件,選擇C++ source file:
2、輸入代碼,首先引入c語言標(biāo)準(zhǔn)庫“# include stdio.h”,之后在主函數(shù)里編寫程序,其實(shí)n的階乘就是從1到n的累積,只要編寫一個(gè)for循環(huán)從1一直到n不停的求積就可以了:
3、編寫完成后,點(diǎn)擊左邊的編譯按鈕 ,編譯完成后點(diǎn)擊右邊的按鈕運(yùn)行程序:
4、運(yùn)行軟件后,Debug里面會(huì)生成exe的階乘可運(yùn)行程序,打開它這里輸入5,按下回車程序就能計(jì)算出5的階乘了,至此就完成了程序的編寫: