10 条题解

  • 0
    @ 2023-10-24 21:05:02
    #include<bits/stdc++.h>
    std::string stra,strb;
    int a[1000000],b[1000000],c[1000000],lena,lenb,lenc,x=0;
    bool prime[1005];
    std::vector<int>list(1001,0);
    void is_prime()
    {
    	for(int i=1;i<=1000;i++)
    	{
    		if(prime[i])
    		{
    			for(int j=2;j*i<=1000;j++)
    			{
    				prime[i*j]=0;
    			}
    		}
    	}
    	int j=1;
    	for(int i=1;i<=1000;i++)
    	{
    		if(prime[i]==1)
    		{
    			list[j++]=i;
    		}
    	}
    }
    void jia(int lena,int lenb,int a[],int b[])
    {
    	bool fl=false;
    	int last=0;
    	/*for(int i=lena-1;i>=0;i--)
    	{
    		a[i]=stra[lena-i-1]-'0';	
    	}
    	for(int i=lenb-1;i>=0;i--)
    	{
    		b[i]=strb[lenb-i-1]-'0';
    	}*/
    	for(int i=0;i<std::max(lena,lenb);i++)
    	{
    		c[i]=a[i]+b[i];
    	}
    	for(int i=0;i<std::max(lena,lenb);i++)
    	{
    		if(c[i]>=prime[i])
    		{
    			if(i==std::max(lena,lenb)-1)
    			{
    				fl=true;
    			}
    		    c[i+1]++;
    		    c[i]-=10;
    		}
    	}
    	last=std::max(lena,lenb)-1;
    	if(fl)
    	{
    		last++;
    	}
    	for(int i=last;i>=0;i--)
    	{
    		std::cout<<c[i];
    	}
    }
    int main()
    {
    	memset(a,0,sizeof(a));
    	memset(b,0,sizeof(b));
    	memset(c,0,sizeof(c));
    	std::cin>>stra>>strb;
    	lena=stra.size();
    	lenb=strb.size();
    	for(int i=lena-1;i>=0;i--)
    	{
    		a[i]=stra[lena-i-1]-'0';	
    	}
    	for(int i=lenb-1;i>=0;i--)
    	{
    		b[i]=strb[lenb-i-1]-'0';
    	}
        jia(lena,lenb,a,b);	
        std::cout<<"I LOVE OI.";
    	return 0;
    }
    

    信息

    ID
    8
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    1001
    已通过
    325
    上传者