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次方。