C编程实现2的1000次方(使程序中的n=1000即可)

#include<stdio.h> #include<malloc.h>



void double_(int n) { int *p,*q,i=1,j,s,jw=0; p=(int *)malloc(sizeof(int)); *p=1; for(j=1;j<=n;j++) { jw=0; for(s=0;s<i-1;s++) { if((*(p+s)*2+jw)>=10) { *(p+s)=(*(p+s))*2+jw-10; jw=1; } else { *(p+s)=(*(p+s))*2+jw; jw=0; } } if((*(p+s)*2+jw)>=10) { i+=1; q=p+i-1; q=(int *)malloc(sizeof(int)); *(p+i-1)=1; *(p+s)=(*(p+s))*2+jw-10; } else

            *(p+s)=(*(p+s))*2+jw; } for(j=i;j>=1;j--) printf("%d",*(p+j-1)); printf("\n"); } void main() { int n; scanf("%d",&n); double_(n); }

从别处粘过来的,还没有理解算法本身。

师姐笔试求2的90次方,

我百度出这个源码的。

试了一下我的电脑最多可以算到3222次方。

你可能感兴趣的:(编程)