這是遞迴版的高精度階乘
#include
#include
using
namespace
std;
int a[5000000000];
int sum = 0,n,len = 1;
void e()
j = len+1;
while(c)
j--;
len = j;
if(sum == n)
e();
}int main()
a[1] = 1;
e();
return
0;}
這個計算高精度沒有問題,就是時間複雜度很高,望高手幫忙指出指出問題o(~ ̄︶ ̄~)o,優化優化
下面這個時間複雜度更高,不過沒用遞迴(遞迴也是迴圈吧),一樣的,不過這個有用優點
#includeusing namespace std;
int r[10000000],a[1000000],b[1000000],t[1000000];
int main()
w--;
for(int z = w,v = 1;z>=1;z--,v++)
for(int o = 1;o<=j;o++)
r[o+w] = add;
}len = j+w;
while(!r[len] && len>1)
for(int u = 1;u<=len;u++)
j = len;
}for(int i = len;i>=1;i--)
沒有注釋,不好的習慣,就這樣吧 高精度階乘
問題描述 輸入乙個正整數n,輸出n 的值。其中n 1 2 3 n。演算法描述 n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列a來表示乙個大整數a,a 0 表示a的個位,a 1 表示a的十位,依次類推。將a乘以乙個整數k變為將陣列a的每乙個元素都乘以k,請注意處理相...
高精度階乘
問題描述 輸入乙個正整數n,輸出n 的值。其中n 123 n。演算法描述 n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列a來表示乙個大整數a,a 0 表示a的個位,a 1 表示a的十位,依次類推。將a乘以乙個整數k變為將陣列a的每乙個元素都乘以k,請注意處理相應的...
階乘之和(高精度)
題目描述 用高精度計算出s 1 2 3 n n 50 其中 表示階乘,例如 5 5 4 3 2 1。輸入格式 乙個正整數n。輸出格式 乙個正整數s,表示計算結果。輸入輸出樣例 輸入3輸出9 過載運算子 include include include include using namespace s...