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

posted @ 2013-10-11 20:29  Andy Cheung  阅读(1196)  评论(0编辑  收藏  举报