c语言 高精度数的无损输出

来源:百度知道 编辑:UC知道 时间:2024/07/03 02:15:15
例如 输出99的99次方~~~~
要求输出每一位~~~~连续啊~~~~

共198位~~~~~~~~~
用c/c++编写~~~~
谢谢~~~~~~

数组模拟高精度计算
#include <stdio.h>

int main()
{
int ans[100] = {1};
int i;
for (i=0; i<99; i++)
{
int j = 0;
for (j=0; j<100; j++)
{
ans[j] *= 99;
}
for (j=0; j<100; j++)
{
if (ans[j] >= 10000)
{
ans[j+1] += ans[j]/10000;
ans[j] %= 10000;
}
}
}
for (i=99; i>=0 && ans[i]==0; i--)
{
NULL;
}

printf("99 ^ 99 = %d", ans[i--]);
for (; i>=0; i--)
{
printf("%04d", ans[i]);
}
printf("\n");
return 0;
}

99 ^ 99 = 369729637649726772657187905628805440595668764281741102430259972423552570455277523421410650010128232727940978889548326540119429996769494359451621570193644014418071060667659301384999779999159200499899

太经典了,有人做出来说一声