大整数:13的一百次方

1.通过顺序表实现存储(数组)。
2.计算:
      I>用每个元素存储一位整数。
      II>用整个数组存储一个大整数
            从后往前算
            怎么知道位数计算多少位?
            a.岗哨  start
            b.计数器 cnt
       i>13的1次方
           x=a[499]*13
           a[499]=x%10
           cp=x/10
           a[start]=cp
           start--
       ii>13的2次方
            x=a[499]*13
            a[499]=x%10
            cp=x/10
            x=a[498]*13+cp
            a[498]=x%10
            cp=x/10
            a[start]=cp
            start--
        iii>13的3次方
            x=a[499]*13
            a[499]=x%10
            cp=x/10
            x=a[498]*13+cp
            a[498]=x%10
            cp=x/10
            x=a[497]*13+cp
            a[497]=x%13
            cp=x/10
            a[start]=cp;
            start--
3.代码:
#include
#define N 500
int main(void){
     int a[N];
     int x,i,j,cp,start;
     a[N-1]=1,start=N-2;
     for(i=1;i<101;i++){
         cp=0;
         for(j=N-1;j>start;j--){
             x=a[j]*13+cp;
             a[j]=x%10;
             cp=x/10;
        }
         while(cp){
              a[start--]=cp%10;
              cp=cp/10;
     }
   }
   for(i=start+1;i         printf("%d",a[i]);
   }
   return 0;
}

你可能感兴趣的:(算法)