解题思路:
注意事项:
参考代码:
#include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<iostream> using namespace std; int p,k; int a[505],b[1005]; void print(){ cout<<floor(log(2)/log(10)*p+1)<<endl; for(int i=500;i>0;i--) { printf("%d",a[i]); if((i-1)%50==0) printf("\n"); } } void work(int x){ if(x==0) return; work(x/2); memset(b,0,sizeof(b)); for(int i=1;i<=500;i++) for(int j=1;j<=500;j++){ if(x%2==0) b[i+j-1]+=a[i]*a[j]; else b[i+j-1]+=a[i]*a[j]*2; } for(int i=1;i<=500;i++){ a[i]=b[i]%10; b[i+1]+=b[i]/10; } } void cut(){ a[1]--;int i=1; while(a[i]<0) a[i+1]--,a[i]+=10,i++; } int main(){ scanf("%d",&p); a[1]=1;work(p); cut(); print(); } //可用快速幂来做
0.0分
4 人评分
C语言训练-阶乘和数* (C语言代码)-------- 呆板写法浏览:1345 |
校门外的树 (C语言代码)浏览:692 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:548 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:533 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:682 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:504 |
淘淘的名单 (C语言代码)浏览:1222 |
C语言程序设计教程(第三版)课后习题12.1 (C语言代码)浏览:642 |
盐水的故事 (C语言代码)浏览:1524 |
C语言训练-字符串正反连接 (C语言代码)浏览:629 |