大整数: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<stdio.h>

#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<N;i++){

        printf(“%d”,a[i]);

   }

   return 0;

}

点赞