本篇內(nèi)容主要講解“c語(yǔ)言如何計(jì)算n的階乘”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“c語(yǔ)言如何計(jì)算n的階乘”吧!

10年建站經(jīng)驗(yàn), 做網(wǎng)站、成都網(wǎng)站建設(shè)客戶的見(jiàn)證與正確選擇。創(chuàng)新互聯(lián)建站提供完善的營(yíng)銷型網(wǎng)頁(yè)建站明細(xì)報(bào)價(jià)表。后期開(kāi)發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。
c語(yǔ)言計(jì)算n的階乘的方法:1、通過(guò)for循環(huán)計(jì)算階乘,代碼如“for (i = 1; i <= n; i++){fact *= i;}”;2、通過(guò)while循環(huán)計(jì)算階乘,代碼如“while (i <= fact="" int="" res="n;if" n=""> 1)res...”。
Problem Description
給定一個(gè)整數(shù)n,求它的階乘,0≤n≤12
Input
輸入一個(gè)數(shù)n
Output
輸出一個(gè)數(shù),表示n的階乘
Sample Input
5
Sample Output
120
既然是求階乘的,那突破點(diǎn)就很明顯,
突破點(diǎn)就在:階乘
階乘的概念及背景:
1??概念:
一個(gè)正整數(shù)的階乘(factorial)是所有小于及等于該數(shù)的正整數(shù)的積,并且0的階乘為1。自然數(shù)n的階乘寫作n!。
2??背景:
1808年,基斯頓·卡曼(Christian Kramp,1760~1826)引進(jìn)這個(gè)表示法。
3??階乘的計(jì)算方法:
任何大于等于1 的自然數(shù)n 階乘表示方法:
n!=1×2×3×…×(n-1)×n 或 n!=n×(n-1)!
注意:0的階乘為1,即 0!=1。
1! = 1
2! = 2 * 1 = 2
3! = 3 * 2 * 1 = 6
…
n! = n * (n-1) *… * 2 * 1
在了解這些之后,可以開(kāi)始先嘗試用代碼進(jìn)行實(shí)現(xiàn)一下,然后再看下面代碼做一次檢查。
關(guān)于C語(yǔ)言實(shí)現(xiàn)n的階乘,目前入門階段,我們主要有以下兩種寫法:
①for循環(huán)
#include<stdio.h>int main(){
int n;
scanf("%d", &n);
int fact = 1;
int i;
for (i = 1; i <= n; i++)
{
fact *= i;
}
printf("%d\n", fact);
return 0;}
測(cè)試樣例:5
1 * 2 * 3 * 4 * 5 = 120
5120--------------------------------Process exited after 1.475 seconds with return value 0請(qǐng)按任意鍵繼續(xù). . .
②while循環(huán)
#include<stdio.h>int main(){
int n;
scanf("%d", &n);
int fact = 1;
int i = 1;
while (i <= n)
{
fact *= i;
i++;
}
printf("%d\n", fact);
return 0;}
測(cè)試樣例:6
1 * 2 * 3 * 4 * 5 * 6 = 720
6720--------------------------------Process exited after 1.549 seconds with return value 0請(qǐng)按任意鍵繼續(xù). . .
1??寫法一
#include <stdio.h>int Fact(int n);int main() //主函數(shù){
int n, cnt;
scanf("%d", &n);
cnt = Fact(n);
printf("%d\n", cnt);
return 0;}
int Fact(int n) //遞歸函數(shù)
{
int res = n;
if (n > 1)
res = res * Fact(n - 1);
return res;}
測(cè)試樣例:7
7 * 6 * 5 * 4 * 3 * 2 * 1
= 1 * 2 * 3 * 4 * 5 * 6 * 7
= 5040
75040--------------------------------Process exited after 2.563 seconds with return value 0請(qǐng)按任意鍵繼續(xù). . .
當(dāng)然也可以寫成這樣:
2??寫法二
#include <stdio.h>int Fact(int n) //遞歸函數(shù) {
int res = n;
if (n > 1)
res = res * Fact(n - 1);
return res;}int main() //主函數(shù) {
int n, cnt;
scanf("%d", &n);
cnt = Fact(n);
printf("%d\n", cnt);
return 0;}
測(cè)試樣例:6
6 * 5 * 4 * 3 * 2 * 1
= 1 * 2 * 3 * 4 * 5 * 6
= 720
6720--------------------------------Process exited after 1.829 seconds with return value 0請(qǐng)按任意鍵繼續(xù). . .到此,相信大家對(duì)“c語(yǔ)言如何計(jì)算n的階乘”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)站名稱:c語(yǔ)言如何計(jì)算n的階乘
新聞來(lái)源:http://www.chinadenli.net/article24/igghce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、品牌網(wǎng)站制作、外貿(mào)建站、企業(yè)建站、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)