这将跨越int存储的界限(int存储区间为:-2148483648-2147483647),只要数组没存满,多大的数都能存储! 当然这是用C语言来完成编译的,如果有更有效的代码欢迎大家留言!感谢!!!
#include<stdio.h>
#define N 1000
int Cal(int v[],int x,int n){
int i,k,j,cp,s;
v[N-1]=1;
s = N-2;
for(i = 1;i < n+1;i++){
cp = 0;
for(j=N-1;j>s;j--){
k = v[j]*x+cp;
v[j]=k%10;
cp=k/10;
}
//v[s]=cp;
//s--;
while(cp){
v[s--]=cp%10;
cp=cp/10;
}
}
return s;
}
int main(void)
{
int x,n,v[N],s;
printf("请输入底数与指数:");
scanf("%d %d",&x,&n);
s = Cal(v,x,n);
for(int i = s+1;i < N;i++){
printf("%d",v[i]);
}
}