Ⅰ c語言編程 :輸入整數n,求n的階乘 並輸出。
1、首先打開CodeBlocks,新建一個空白頁面:
Ⅱ 求整數n(n>=0)階乘的演算法如下,其時間復雜度:
#include<stdio.h>
int main(void)
{
int i,s=1;
printf("Please input a intdata:");
scanf("%d",&i);
for(;i>1;i--)
s*=i;
printf("%d ",s);
return 0;
}
這是一個遞歸程,可以看出每遞歸一次n的規模小一,所是結果是線性的。
Ⅲ 自然數階乘 流程圖
第一步:讓s=1,i=1
第二步輸入要算的階乘的對應的正整數n
第三步讓s=s*i,i=i+1
第四步判斷i是否大於n, 若大於列印出S
否則返回第三步
s=1 i=1 input n while i
用函數的遞歸調用的方法求n的階乘問題和把一個整數...
用for語句描述演算法如下:
輸入n; T:=1; for i:=1 to n do
begin T:=T*i; end. 輸出T
(3)演算法設計整數n階乘的流程圖擴展閱讀:
現在通用的階乘符號是法國數學家克拉姆(Kramp, C.)於1808年最先提出來的,後經德國數學家、物理學家格奧爾格·歐姆(Ohm, M.)等人的倡議而流行起來,直用到現在。
例如所要求的數是n,則階乘式是1×2×3×……×n,設得到的積是x,x就是n的階乘。
參考資料來源:網路-階乘
Ⅳ 用c++語言求n的階乘
1、打開vs6.0軟體,准備一個後綴為cpp的文件,在c++文件中首先寫入頭文件,定義一個處理階乘的函數,接著寫一個空的main函數:
Ⅳ 從鍵盤輸入一個正整數n,求出該數的雙階乘。流程圖描述
*雙階乘m!!表示:
*當m是自然數時,表示不超過m且與m有相同奇偶性的所有正整數的乘積。
*如:3!!=1*3=3,6!!=2*4*6=48(另0!!=1)
*當m是負奇數時,表示絕對值小於它的絕對值的所有負奇數的絕對值積的倒數。
*如:(-7)!!=1/(|-5| * |-3| * |-1|)=1/15
*當m是負偶數時,m!!不存在
CLEAR
INPUT '請輸入一個整數(小數位無效):' TO n
n=INT(n)
sjc=1
DO CASE
CASE n=0
sjc=1
CASE n>0 and MOD(n,2)=1
FOR i=1 TO n STEP 2
sjc=sjc*i
ENDFOR
CASE n>0 and MOD(n,2)=0
FOR i=2 TO n STEP 2
sjc=sjc*i
ENDFOR
CASE n>0 and MOD(n,2)=1
FOR i=1 TO n STEP 2
sjc=sjc*i
ENDFOR
CASE n<0 and MOD(n,2)=1
FOR i=-1 TO n+2 STEP -2
sjc=sjc*ABS(i)
ENDFOR
CASE n<0 and MOD(n,2)=0
sjc=-1
ENDCASE
IF sjc=-1
?LTRIM(STR(n))+'的雙階乘不存在!'
ELSE
IF n>=0
?LTRIM(STR(n))+'的雙階乘是:'+LTRIM(STR(sjc))
ELSE
?LTRIM(STR(n))+'的雙階乘是:1/'+LTRIM(STR(sjc))
ENDIF
ENDIF
Ⅵ 求n的階乘的演算法框圖
1、首先新建一個261.php,如圖所示。