#include
#include
#include
using namespace std;
int s;
void chen(char a,char b)//a=a*b //高精度乘法
;
l=strlen(a)+strlen(b);
for(i=strlen(b)-1;i>=0;i--)
for(j=strlen(a)-1,k=i+j+1;j>=0;j--,k--)
for(i=c[0] ? 0:1,j=0;ia[j]=0;
}
void quw0(char a) //去除尾部多餘的零 //初始化b
} void jilu(char a) //處理小數點,記錄位置
//將n和分為0和非0,如果是0,直接輸出1
s=0; //s為記錄小數點的位置,為全域性變數
quw0(b);//初始化,把輸入的b後面的多餘的0去除
jilu(b); //講小數化為整數,為後面的高精度乘法做準備
strcpy(a,b); //用乙個新的陣列a等效於b,例如b^3=b*b*b=(a*b)*b=(a『)*b;3個b相乘,
for(int i=2;i<=n;i++) //就是實現(a*b),然後用a在儲存a*b的結果
chen(a,b); //這個函式等效於a=a*b;
s*=n; //結果的小數字數
show(a); //輸出結果,處理小數點
}
return 0;
}
高精度冪的計算
題目參考北大onlie judge 1001題,由於不知道對於整數的相關輸入要求,如果輸入整數進入高精度冪的運算的話,預設為6.0000 or 12.000 格式。對乙個實數r 0.0 r 99.999 要求寫程式精確計算 r 的 n 次方 rn 其中n 是整數並且 0 n 25。限時0.5s 高精...
高精度 高精度冪
時間限制 1 sec 記憶體限制 64 mb 題目描述 經過測試,修羅王發現開啟魔法手銬的方法是需要求乙個正整數a 1輸入 包含兩個數字,即a和n。輸出輸出結果的最後1000位。複製樣例資料 2 10樣例輸出 1024注意c陣列不能只取1000為萬一第1000為為0不就捨掉了,到最後在輸出1000位...
快速冪 高精度求冪
本文講述快速冪的原理,以及用法 定義 快速求,取base為底數的exp次冪,即求 baseexp 時間複雜度 o log n 思想 每一步都把指數分成兩半,而相應的底數做平方運算。不僅能把非常大的指數給不斷變小,所需要執行的迴圈次數也變小,而最後表示的結果卻一直不會變。原理 a b m a m b ...