這篇部落格主要是對我做題目的一些感想以及詳解(以防以後忘記),也可以幫助一下以後的學弟學妹們
由於面向新手,我自己也是新手,所以很多地方有疏漏,或者太繁瑣
基本上是在前輩們的基礎上對程式進行的解析,補充說明
用高精度計算出s=1!+2!+3!+…+n!(n≤50)
其中「!」表示階乘,例如:5!=5*4*3*2*1。
輸入正整數n,輸出計算結果s。
乙個正整數n。
計算結果s。
/*涉及自定義函式的知識*/
/*請先了解高精加,高精乘*/
#includeusing namespace std;
int ans[105]/*階乘和*/,jc[105]/*階乘*/,jc1=100/*階乘在陣列中的位置*/,ans1=100/*階乘和在陣列中的位置*/;
void pjc()//這個函式計算目前階乘的最高位在陣列中是第幾個。
void pans()//和上面原理一樣,讀的是ans的
void ljq()//這個函式是階乘的累加器,此處運用高精乘
pans()//然後用pans函式讀ans的位置;
}/*主函式*/
int main()
pjc();//用這個函式讀階乘的位置
ljq();//把本次階乘的結果存入累加器
} for(int i=ans1;i<=100;i++)
printf("%d",ans[i]);//順序輸出
return 0;
}
階乘的和高精度
題目描述 用高精度計算出 s 1 2 3 n n 50 s 1 2 3 n n 50 其中 表示階乘,例如 5 5 4 3 2 1 5 5 4 3 2 1 輸入正整數nn 輸出計算結果ss 輸入 乙個正整數nn 輸出 計算結果ss 輸入樣例 5 輸出樣例 153 include using name...
高精度階乘(c語言)
在刷題時偶然遇到了高精度階乘的問題,於是立即自學了一下,在此作簡要總結。提出背景 普通的階乘演算法 不斷用i i 1 迴圈 對於較大數的階乘,由於運算結果位數過大,會造成溢位,使結果精度低。此時引出高精度計算階乘的方法。實現思路 用陣列倒序儲存每一位的數,手動調整進製,再倒序輸出 程式 includ...
階乘和(高精度演算法)
對於自然數n的階乘,當n比較小時,可以32位整數int範圍內準確表示 例如12 479001600 2147483647 231 1 而20 2432902008176640000 9223372036854775807 263 1 可以在64位整數long long int範圍內準確表示 但是 n...