關於大整數n!的問題!

2021-09-09 04:35:15 字數 579 閱讀 1087

對於乙個整數n,當n超過30之後,n!將會是乙個比較大的數,而longlong型別將不能儲存下這麼大的數·,這是你只能用到高精度的知識,運用陣列來存放這些數,呵呵!!看看下面的例子吧!!

這是一道求1000!的例子,希望能對你有幫助!!!!

#include

using namespace std;

int main()

}for(k=50000;k>=0;k--)

if(num[k]==0)

break;

for(int j=k;j>=0;j--)

cout<**的進一步優化,因為int型別能存9位數,所以進一步優化**如下:

#include

using namespace std;

int main()

}for(k=20001;k>=0;k--)

if(num[k]!=0)

break;

cout<=0;i--)

printf("%06d",num[i]);//6位的數字不足的在前面加0!!

cout<}return 0;

}

大整數問題

題目描述 有乙個k 1 k 80 位的十進位制正整數n,設計乙個程式,找到滿足條件 p3 p2 3p n的p的最大值。測試用例 輸入 1000000000000001000000000000003000000000000001 輸出 100000000000000 複製 include includ...

大整數 問題

高精度除法 利用了 減法 原理 例如 a 13455 除以 b 3 先把 3 增大為 30000 不夠減 右移一位 變為 3000 這樣不斷的減 直到 不夠減 為 1456 則 可知 商的 千位 為 4 因為 3000 是 3 的 1000倍 這樣 3000 在右移一位 300 依此類推 得到 百位...

大整數相乘問題

先把好的部落格貼上 明天再說。include include includeusing namespace std string型別轉換成int型別 long string to num string str 整形數轉換為string型別 string num to string int intva...