求助

P1303 A*B Problem

YX_YX @ 2021-02-06 16:58:37

#include<iostream>
#include<algorithm>
#include<iomanip>
#include<cmath> 
#include<stdio.h>
#include<cstring>
using namespace std;
int main()
{
    int a[3000]={0},b[3000]={0},c[3000]={0},i=0,j;
    char aa[3000],bb[3000];
    cin>>aa>>bb;
    int la=strlen(aa);             
    int lb=strlen(bb);           

    while(la)                  
    {
        a[i]=aa[la-1]-'0';
        i++;
        la--;
    }
    i=0;
    while(lb)                       
    {
        b[i]=bb[lb-1]-'0';
        i++;
        lb--;
    }
    la=strlen(aa);             /
    lb=strlen(bb); 

    for(i=0;i<la;i++)
    {
        for(j=0;j<lb;j++)
        {
            c[i+j]+=(a[i]*b[j]);

        }
    }

    for(i=0;i<=3000;i++)
    {
        c[i+1]+=c[i]/10;
        c[i]%=10;
    }
    bool f=0;
    for(i=3000;i>=0;i--)
    {

        if(c[i]!=0)
        f=1;
        if(f==1)
        cout<<c[i];
    }
}

by yuchenren @ 2021-02-06 17:14:47

使用 Python 仅需一行: print(int(input())*int(input()))


by qqqqq111 @ 2021-03-13 22:46:31

数组在外边定义


|