0 - 9的100——1000次方
来源:互联网 发布:移动gprs是几g网络 编辑:程序博客网 时间:2024/06/05 21:09
#include <iostream>#define MAX 1000using namespace std;//小整数的整数次方/*int PowerWithUnsignedExponent(int base, int exponent){ if(exponent == 0) return 1; if(exponent == 1) return base; int result = PowerWithUnsignedExponent(base, exponent >> 1); result *= result; if(exponent & 0x1 == 1) result *= base; return result;}*///利用数组转换大整数,每位先乘以2,再处理进位int main(){ int base; cin >> base; int exponent; cin >> exponent; int *result = new int[MAX + 10](); result[0] = 1; int nHighestPos = 0; for(int i = 0; i < exponent; ++i) { //按位乘以base for(int j = 0; j < exponent; ++j) { result[j] *= base; } //处理进位 for(int k = 0; k < exponent; ++k) { if(result[k] >= 10) { result[k + 1] += result[k] / 10; result[k] = result[k] % 10; } if(result[k]) nHighestPos = k; } } for(int i = nHighestPos; 0 <= i; --i) cout << result[i]; delete [] result; return 0;}