• 个人简介

    #include<iostream>
    using namespace std;
    string n,m;
    struct node{
    	int a[10000];
    	int we=0;
    	bool zf=1;
    };
    node x,y;
    void pd(node ans){
    	if(ans.a[ans.we]==0){
    		for(int i=ans.we;i>=1;i--){
    			if(ans.a[i]==0){
    				ans.we--;
    			}
    		}
    	}
    	return;
    }
    node jia(node n,node m)
    {
    	int we1=n.we;
    	int we2=m.we;
    	int mm=0;
    	int wen=max(we1,we2);
    	node ans;
    	if(n.zf==0&&m.zf==0) {
    		ans.zf==0;
    		for(int i=1;i<=wen;i++)
    		{
    			ans.a[i]=n.a[i]+m.a[i]+mm;
    			mm=ans.a[i]/10;
    			ans.a[i]%=10;
    			ans.we++;
    		}
    	}
    	if(n.zf==1&&m.zf==0){
    		for(int i=1;i<=wen;i++)
    		{
    			if(n.a[i]-mm-m.a[i]<0){
    				ans.a[i]=n.a[i]-m.a[i]-mm+10;
    				ans.we++;
    				mm=1;
    				continue;
    			}
    			ans.a[i]=n.a[i]-m.a[i]-mm;
    			mm=0;
    		}
    		if(mm==1){
    			ans.zf=0;
    			for(int i=1;i<=ans.we;i++){
    				ans.a[i]=0;
    			}
    			ans.we=0;
    			mm=0;
    			for(int i=1;i<=wen;i++)
    			{
    				if(m.a[i]-mm-n.a[i]<0){
    					ans.a[i]=m.a[i]-n.a[i]-mm+10;
    					ans.we++;
    					mm=1;
    					continue;
    				}
    				ans.a[i]=m.a[i]-n.a[i]-mm;
    				mm=0;
    			}
    		}	
    	}
    	if(n.zf==1&&m.zf==1){
    		for(int i=1;i<=wen;i++)
    		{
    			ans.a[i]=n.a[i]+m.a[i]+mm;
    			mm=ans.a[i]/10;
    			ans.a[i]%=10;
    			ans.we++;
    		}
    	}
    	pd(ans);
    	return ans;
    }
    node cheng(node n,node m)
    {
    	int we1=n.we;
    	int we2=m.we;
    	int mm=0;
    	node ans;
    	node s;
    	for(int i=1;i<=we1;i++)
    	{
    		for(int k=1;k<=s.we;k++){
    			s.a[k]=0;
    		}
    		s.we=i-1;
    		for(int j=1;j<=we2;j++)
    		{
    			s.a[j+i-1]=n.a[i]*m.a[j]+mm;
    			mm=s.a[j+i-1]/10;
    			s.a[j+i-1]%=10;
    			s.we=i+j-1;
    		}
    		ans=jia(ans,s);
    		mm=0;
    	}
    	if(n.zf==0&&m.zf==1||m.zf==0&&n.zf==1) ans.zf=0;
    	pd(ans);
    	return ans;
    }
    void scn(node z){
    	if(z.zf==0)cout<<'-';
    	for(int i=z.we;i>=1;i--){
    		cout<<z.a[i];
    	}
    	return;
    }
    int main()
    {
    cin>>n>>m;
    	int nn=n.size();
    	int mm=m.size();
    	for(int i=0;i<nn;i++)
    	{
    		if(n[nn-i-1]=='-'){
    			x.zf=0;
    		}
    		else{
    			x.a[i+1]=n[nn-i-1]-'0';
    			x.we++;
    		}
    	}
    	for(int i=0;i<mm;i++)
    	{
    		if(m[mm-i-1]=='-'){
    			y.zf=0;
    		}
    		else{
    			y.a[i+1]=m[mm-i-1]-'0';
    			y.we++;
    		}
    	}
    	node z=jia(x,y);
    	pd(z);
    	scn(z);
    	return 0;
    }
    #include<iostream>
    #include<cmath>
    using namespace std;
    int n,num,d,bb=1;
    int a[1010],b[1010];
    int main(){
    	cin>>n;
    	for(int i=2;i<=1000;i++){
    		if(a[i]==0){
    			for(int j=i+i;j<=1000;j+=i){
    				a[j]=1;
    			}
    		}
    	}
    	for(int i=2;i<=1010;i++){
    		if(a[i]==0) b[bb++]=i;
    		cout<<a[i]<<' ';
    	}
    	for(int i=4;i<=n;i++)
    	{
    		d=i;
    		for(int j=1;j<=bb;j++){
    			if(d%b[j]==0){
    				num++;
    				i/=d;
    			}
    			if(num==1) break;
    			if(d==1) cout<<d<<' ';
    		}
    	}
    	return 0;
    }