*雙階乘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
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
CASE n
FOR i=-1 TO n+2 STEP -2
sjc=sjc*ABS(i)
sjc=-1
ENDCASE
IF sjc=-1
?LTRIM(STR(n))+"的雙階乘不存在!"
ELSE
IF n>=0
?LTRIM(STR(n))+"的雙階乘是:"+LTRIM(STR(sjc))
?LTRIM(STR(n))+"的雙階乘是:1/"+LTRIM(STR(sjc))
ENDIF
*雙階乘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
FOR i=-1 TO n+2 STEP -2
sjc=sjc*ABS(i)
ENDFOR
CASE n
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