99的階乘接近10的156次方,也就是說,是一個155位的數值,這個數值在VB的數值型別中,是無法精確儲存的。
一般演算法型別的程式設計題目,會求這個值的後6位這樣的問題,或者使用貪心演算法計算階乘和問題,這類問題通常不會超過10的階乘值或者整數變數範圍。
s=0
for i= 1 to 99
for j=1 to i
s1=1
s1=s1*j
next j
s=s+s1
next i
擴充套件資料:
由於正整數的階乘是一種連乘運算,而0與任何實數相乘的結果都是0。所以用正整數階乘的定義是無法推廣或推匯出0!=1的。即在連乘意義下無法解釋“0!=1”。
給“0!”下定義只是為了相關公式的表述及運算更方便。
通常所說的階乘是定義在自然數範圍裡的(大多科學計算器只能計算 0~69 的階乘),小數科學計算器沒有階乘功能,如 0.5!,0.65!,0.777!都是錯誤的。但是,有時候會將Gamma 函式定義為非整數的階乘,因為當 x 是正整數 n 的時候,Gamma 函式的值是 n-1 的階乘。
99的階乘接近10的156次方,也就是說,是一個155位的數值,這個數值在VB的數值型別中,是無法精確儲存的。
一般演算法型別的程式設計題目,會求這個值的後6位這樣的問題,或者使用貪心演算法計算階乘和問題,這類問題通常不會超過10的階乘值或者整數變數範圍。
s=0
for i= 1 to 99
for j=1 to i
s1=1
s1=s1*j
next j
s=s+s1
next i
擴充套件資料:
由於正整數的階乘是一種連乘運算,而0與任何實數相乘的結果都是0。所以用正整數階乘的定義是無法推廣或推匯出0!=1的。即在連乘意義下無法解釋“0!=1”。
給“0!”下定義只是為了相關公式的表述及運算更方便。
通常所說的階乘是定義在自然數範圍裡的(大多科學計算器只能計算 0~69 的階乘),小數科學計算器沒有階乘功能,如 0.5!,0.65!,0.777!都是錯誤的。但是,有時候會將Gamma 函式定義為非整數的階乘,因為當 x 是正整數 n 的時候,Gamma 函式的值是 n-1 的階乘。