| 记录编号 | 
        132726 | 
        评测结果 | 
        AAAAAAAAAA | 
    
    
        | 题目名称 | 
        41.[NOIP 2003]麦森数 | 
        最终得分 | 
        100 | 
            
    
    
        | 用户昵称 | 
         TA | 
        是否通过 | 
        通过 | 
    
    
        | 代码语言 | 
        C++ | 
        运行时间 | 
        0.043 s  | 
    
    
        | 提交时间 | 
        2014-10-26 15:56:17 | 
        内存使用 | 
        0.32 MiB  | 
        
    
    
    
    		显示代码纯文本
		
		#include<iostream>
using namespace std;
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
int ans[502],t[502],c[503];
inline void multi(int * a){
	int i,j;
	memset(c,0,sizeof(c));
	for(i=1;i<501;++i)
		for(j=1;i+j-1<501;++j)
			c[i+j-1]+=a[i]*t[j];
	for(i=1;i<501;++i){
		c[i+1]+=c[i]/10;
		c[i]%=10;
	}
	for(i=1;i<501;++i)
		a[i]=c[i];
}
int main(){
	freopen("mason.in","r",stdin);freopen("mason.out","w",stdout);
	int p,tot=500,pp;
	scanf("%d",&p);
	pp=p;
	t[1]=2;
	ans[1]=1;
	while(p){
		if(p&1)multi(ans);
		multi(t);
		p>>=1;
	}
	--ans[1];
	printf("%d\n",(int)(pp*log(2)/log(10)+1));
	for(int i=10;i;--i){
		for(int j=50;j;--j)
			printf("%d",ans[tot--]);
		printf("\n");
	}
}