2 条题解

  • 0
    @ 2025-3-25 15:12:35
    #include<algorithm>
    #include<string>
    using namespace std;
    const int N=300;
    int a[N],len;
    string m,n;
    void Output()
    {
    	for(int i=len-1;i>=0;i--)
    	{
    		cout<<a[i];
    	}
    	return ;
    }
    void Calcu()
    {
     for(int i=0;i<=m.size()-1;i++)
     {
     	for(int j=0;j<=n.size()-1;j++)
     	{
     		a[i+j]+=(m[i]-'0')*(n[j]-'0');
    	 }
        }
    	 len=m.size()+n.size();
    	 for(int i=0;i<=len-2;i++)
    	 {
    	 	a[i+1]+=a[i]/10;
    	 	a[i]%=10;
    	 }
    	 if(a[len-1]==0)
    	 {
    	 	len--;
    	 }
    	 
      return ;
    	}
    int main()
    {
    	cin>>m>>n;
    	reverse(m.begin(),m.end());
    	reverse(n.begin(),n.end());
    	Calcu();
    	Output();
    	return 0;
    }
    
    
    
    • -2
      @ 2025-2-11 14:25:15

      #include<bits/stdc++.h> using namespace std; int a[10000],b[10000],c[10000]; int main(){ string A,B; cin>>A>>B; int lena=A.length(),lenb=B.length(); for(int i=lena-1;i>=0;i--){ a[lena-i]=A[i]-'0'; } for(int i=lenb-1;i>=0;i--){ b[lenb-i]=B[i]-'0'; } for(int i=1;i<=lena;i++){ for(int j=1;j<=lenb;j++){ c[i+j-1]+=a[i]*b[j]; } } int len=lena+lenb; for(int i=1;i<=len;i++){ c[i+1]+=c[i]/10; c[i]%=10; } while(c[len]==0) len--; for(int i=max(1,len);i>=1;i--){ printf("%d",c[i]); } return 0; }

      • 1

      信息

      ID
      1339
      时间
      1000ms
      内存
      128MiB
      难度
      5
      标签
      (无)
      递交数
      110
      已通过
      40
      上传者