2 solutions

  • 1
    @ 2025-4-12 15:41:15
    #include<bits/stdc++.h>
    using namespace std;
    const int N=2010;
    int a[N],b[N],c[N];
    string s1,s2;
    int main()
    {
    	cin>>s1>>s2;
    	int lena=s1.size();
    	int lenb=s2.size();
    	int lenc=lena+lenb;
    	for(int i=0,j=lena-1;j>=0;i++,j--)
    	{
    		a[i]=s1[j]-'0';
    	}
    	for(int i=0,j=lenb-1;j>=0;i++,j--)
    	{
    		b[i]=s2[j]-'0';
    	}
    	for(int i=0;i<lena;i++)
    	{
    		for(int j=0;j<lenb;j++)
    		{
    			c[i+j]=c[i+j]+a[i]*b[j];
    		}
    	}
    	for(int i=0;i<lenc;i++)
    	{
    		c[i+1]=c[i+1]+c[i]/10;
    		c[i]=c[i]%10;
    	}
    	while(lenc>0&&c[lenc]==0) lenc--;
    	for(int i=lenc;i>=0;i--) cout<<c[i];
    	return 0;
    }
    
    • 0
      @ 2025-9-14 11:25:35
      #include<bits/stdc++.h>
      using namespace std;
      int a[100010],c[100010];
      string s;
      int main()
      {
          cin>>s;
          int b;
          cin>>b;
          for(int i=0,j=s.size()-1;j>=0;i++,j--)
          {
              a[i]=s[j]-'0';
          }
          int lenc=s.size()+4;
          for(int i=0;i<=lenc;i++)
          {
              c[i]=a[i]*b;
          }
          for(int i=0;i<lenc;i++)
          {
              c[i+1]=c[i+1]+c[i]/10;
              c[i]%=10;
          }
          while(lenc>0&&c[lenc]==0) lenc--;
          for(int i=lenc;i>=0;i--)
          {
              cout<<c[i];
          }
          return 0;
      }//废物,依托答辩,还要看题解,要不要face?
      
      • 1

      Information

      ID
      144
      Time
      1000ms
      Memory
      256MiB
      Difficulty
      3
      Tags
      (None)
      # Submissions
      69
      Accepted
      21
      Uploaded By