154 条题解
- 
  0794613 LV 3 @ 2006-09-14 22:39:36 请问一下怎么求长度?楼下的n*ln 2 / ln 10 + 1我没有太看明白,请用文字叙述一下谢谢。 
- 
  0@ 2006-09-14 22:31:33把前几位写出来可一推出位数规律?? 
 1 1 1 1 2 2 2 3 3 3
 4 4 4 4 5 5 5 6 6 6
 . . . . . . . . . .
- 
  0@ 2006-09-14 20:42:05高效算法: 
 2^p...
 2^1 (2^1)^2= 2^2 (2^2)^2 = 2^4 (2^4)^2 = 2^8 (2^8)^2 = 2^16
 .......
- 
  0@ 2006-09-08 10:54:38长度=n*ln 2 / ln 10 + 1 然后就高精度运算了.. Accepted 有效得分:100 有效耗时:0ms 
- 
  0@ 2006-09-08 08:00:06纯粹的高精度,毫无遮掩,快速幂 不会的话可以用暴力分段法.... 
- 
  -1@ 2017-03-12 08:52:58#include<cstdio> #define re register int #define File(s) freopen(s".in","r",stdin),freopen(s".out","w",stdout) //---------------------------True Code---------------------------- #include<cmath> #include<cstring> const int base=1e4,length=125; struct big{ int a[500]; inline void clear(){memset(a,0,sizeof(a));} big operator*(big b){ big c;c.clear();c.a[0]=a[0]+b.a[0]; for(re i=1;i<=a[0];i++) for(re j=1;j<=b.a[0];j++){ c.a[i+j-1]+=a[i]*b.a[j]; c.a[i+j]+=c.a[i+j-1]/base; c.a[i+j-1]%=base; } while(c.a[0]>length||c.a[c.a[0]]==0)c.a[c.a[0]--]=0; return c; } inline void out(){ a[1]-=1;//麦森数是2^p -1 for(re i=125,sum=0;i;i--){ printf("%d%d",a[i]/1000,a[i]/100%10);sum+=2; if(sum==50){puts(""),sum=0;} printf("%d%d",a[i]/10%10,a[i]%10);sum+=2; if(sum==50){puts(""),sum=0;} } puts(""); } }ans,a; inline void powMod(int k){ ans.clear();ans.a[0]=ans.a[1]=1; a.clear();a.a[0]=1;a.a[1]=2; for(;k;k>>=1,a=a*a) if(k&1)ans=ans*a; ans.out(); } int main(){ File("mason"); int n;scanf("%d",&n); printf("%d\n",int(floor(log10(2)*n)+1)); powMod(n);//麦森数就是一个快速幂 mod=10^500 return 0; }
- 
  -1@ 2016-10-29 11:16:53#include<bits/stdc++.h> 
 using namespace std;
 int a[10000],b[10000];
 char daan[100000]={"0"},ans[10000]={"0"};
 void cf(char A[],char B[]){
 int i,j,k=0,n,m,x;
 int c[100000],d[100000],e[100000];
 long long l;
 n=strlen(A); m=strlen(B);
 strrev(A); strrev(B);
 memset(d,0,sizeof(d)) ; memset(e,0,sizeof(e)) ; memset(c,0,sizeof(c)) ;
 for(i=0;i<n;i++) d[i]=A[i]-48; for(i=0;i<m;i++) e[i]=B[i]-48;
 k=0;
 for (i=0;i<n;i++)
 for (j=0;j<m+1;j++)
 {
 c[i+j] = c[i+j] + d[i] * e[j] +k;
 k= c[i+j] / 10 ;
 c[i+j] = c[i+j] % 10 ;
 }
 k=22000;
 while (c[k]==0) k--;
 for(i=k;i>=0;i--) A[i]=c[i];
 }
 int main()
 {
 int i,j,k,l,n,m;
 cin>>n>>m;
 ans[0]=2;
 a[0]=1;
 k=n;
 i=0;
 while(k){
 n[i]=k%10+48;
 k/=10;
 i++;
 }
 while(m>0){
 if(m&1) cf(ans,daan);
 m/=2;
 cf(daan,daan);
 }
 for(i=500;i>=0;i--) cout<<ans[i]-48;
 return 0;
 }
- 
  -1@ 2006-10-30 17:21:12├ 测试数据 01:运行超时... 
 ├ 测试数据 02:运行超时...
 ├ 测试数据 03:运行超时...
 ├ 测试数据 04:答案正确... 691ms
 ├ 测试数据 05:答案正确... 0ms
 ├ 测试数据 06:答案正确... 0ms
 ├ 测试数据 07:答案正确... 0ms
 ├ 测试数据 08:答案正确... 0ms
 ├ 测试数据 09:运行超时...
 ├ 测试数据 10:运行超时...
 那位大哥大姐有改进的方法啊 n*ln 2 / ln 10 + 1怎么使用???
 大牛给点提示
 谁给我标准程序给看看啊
- 
  -1@ 2006-10-09 19:16:35编译通过... 
 ├ 测试数据 01:答案正确... 0ms
 ├ 测试数据 02:答案正确... 72ms
 ├ 测试数据 03:答案正确... 0ms
 ├ 测试数据 04:答案正确... 0ms
 ├ 测试数据 05:答案正确... 0ms
 ├ 测试数据 06:答案正确... 0ms
 ├ 测试数据 07:答案正确... 0ms
 ├ 测试数据 08:答案正确... 0ms
 ├ 测试数据 09:答案正确... 25ms
 ├ 测试数据 10:答案正确... 56ms
 ---|---|---|---|---|---|---|---|-
 Accepted 有效得分:100 有效耗时:153ms哈哈,纪念一下! 
 原来用了两种算法都超时。后来两者结合,用4层优化,最大的数据也只耗时72ms!
- 
  -1@ 2006-09-13 17:43:350ms 
 0ms
 0ms
 0ms
 0ms
 0ms
 0ms
 0ms
 0ms
 0ms
 Accepted
- 
  -1@ 2006-09-11 13:58:06编译通过... 
 ├ 测试数据 01:运行超时...
 ├ 测试数据 02:运行超时...
 ├ 测试数据 03:答案正确... 0ms
 ├ 测试数据 04:答案正确... 0ms
 ├ 测试数据 05:答案正确... 0ms
 ├ 测试数据 06:答案正确... 0ms
 ├ 测试数据 07:答案正确... 0ms
 ├ 测试数据 08:答案正确... 0ms
 ├ 测试数据 09:运行超时...
 ├ 测试数据 10:运行超时...
 ---|---|---|---|---|---|---|---|-
 Unaccepted 有效得分:60 有效耗时:0ms
 ???????????????
- 
  -1@ 2006-10-08 22:25:22时间复杂度也许很高,不过十分简单,别想复杂了!^_^ 编译通过... 
 ├ 测试数据 01:答案正确... 166ms
 ├ 测试数据 02:答案正确... 150ms
 ├ 测试数据 03:答案正确... 119ms
 ├ 测试数据 04:答案正确... 88ms
 ├ 测试数据 05:答案正确... 56ms
 ├ 测试数据 06:答案正确... 25ms
 ├ 测试数据 07:答案正确... 25ms
 ├ 测试数据 08:答案正确... 56ms
 ├ 测试数据 09:答案正确... 181ms
 ├ 测试数据 10:答案正确... 181ms
 ---|---|---|---|---|---|---|---|-
 Accepted 有效得分:100 有效耗时:1047ms一共写了106行... 
- 
  -1@ 2006-09-08 17:09:42编译通过... 
 ├ 测试数据 01:运行超时...
 ├ 测试数据 02:运行超时...
 ├ 测试数据 03:运行超时...
 ├ 测试数据 04:答案正确... 451ms
 ├ 测试数据 05:答案正确... 110ms
 ├ 测试数据 06:答案正确... 20ms
 ├ 测试数据 07:答案正确... 0ms
 ├ 测试数据 08:答案正确... 0ms
 ├ 测试数据 09:运行超时...
 ├ 测试数据 10:运行超时...
 为什么????!!!!
- 
  -2@ 2016-10-26 13:49:32错了