計算n的m次冪(高精度)
阿新 • • 發佈:2018-12-10
/* 高精度計算 n 的 m 次方 |-- 模擬乘法計算 */ #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int n, m; int result[1000]; // 這裡假設結果最多為 1000 位,可適當調大或調小 int main() { while(~scanf("%d%d", &n, &m)) { memset(result, 0, sizeof(result)); result[999] = 1; int bit = 0; // 進位的值 // 模擬乘法計算 for(int i=0; i<m; i++) { for(int j=999; j>=0; j--) { int k = result[j] * n + bit; result[j] = k % 10; bit = k / 10; } } for(int i=0; i<1000; i++) { if(result[i]) { for(int j=i; j<1000; j++) { printf("%d", result[j]); } puts(""); break; } } } return 0; }