我实在想不出谁有这能不实在怎样诂测试

一道高精度问题,算2的N次方,N不大于100程序倒是编出来了,但是最大只能算到85次方,我估计问题是stack overflow,我是一个初学者,#include #include #define MAX_LEN 100int a[MAX_LEN];int main(){ int N,i,j,k;while(scanf("%d",&N) = EOF){k = 1;memset(_百度作业帮 一道高精度问题,算2的N次方,N不大于100程序倒是编出来了,但是最大只能算到85次方,我估计问题是stack overflow,我是一个初学者,#include #include #define MAX_LEN 100int a[MAX_LEN];int main(){ int N,i,j,k;while(scanf("%d",&N) = EOF){k = 1;memset(a,0,MAX_LEN);a[0] = 1;for(j = 0;j < N;j ++){for(i = k - 1;i >= 0;i --){a[i] *= 2;if(a[i] >= 10){a[i] -= 10;a[i + 1] ++;k ++;} }}bool bStartOutput =for(i = MAX_LEN;i >= 0;i --){if(bStartOutput)printf("%d",a[i]);else if(a[i] = 0){printf("%d",a[i]);bStartOutput =}}printf("\n");}return 0;} 2^85很大的哦,按通常的计数法表示结果,计算机会溢出,用科学计数法吧.在原来程序上改一改吧,每次循环,检查结果是否大于10,如果大于10,则结果除以10,10的指数加1.最后计算结果为:结果X10^指数 /2)(1-1/3)(1-1/4)...(1-1//2006) =)(2/3)(3/4)...()() =6) =1 [-|98|+76+(-87)]*23[56+(-75)-(7)]-(8+4+3) 5+21*8/2-6-59

我要回帖

更多关于 我实在编不下去了 的文章

 

随机推荐