\color{lightblue}{\text{源代码}}
```cpp #include"stdio.h" #include"math.h" #define int long long int p,a[1000000],num,remain,r,len=1,k=499; signed main(void){ a[0]=1; scanf("%d",&p); num=p/30; remain=p%30; r=pow(2,remain); for(int i=0;i<num;i++){ for(int j=0;j<len;j++) a[j]*=1073741824/*2^30*/; for(int j=1;j<=len;j++){ a[j]+=a[j-1]/10; a[j-1]%=10; } while(a[len]){ a[len+1]+=a[len]/10; a[len++]%=10; } } for(int i=0;i<len;i++) a[i]*=r; for(int i=1;i<=len;i++){ a[i]+=a[i-1]/10; a[i-1]%=10; } while(a[len]){ a[len+1]+=a[len]/10; a[len++]%=10; } a[0]--; printf("%d\n",len); for(int i=0;i<10;i++){ for(int j=0;j<50;j++) printf("%lld",a[k--]); printf("\n"); } return 0; } ``` - - - 本人不太懂快速幂这个东西~~因为我太蒻了~~,所以顺便问一下各位大佬有没有不用快速幂的方法?~~(打表除外)~~