H1910823038


私信TA

用户名:uq_27586330638

访问量:1411

签 名:

等  级
排  名 83
经  验 9091
参赛次数 1
文章发表 31
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:

注意事项:

参考代码:

#include<bits/stdc++.h>


using namespace std;


int main()


{


string s,s1;


cin>>s>>s1;

if(s=="0"||s1=="0")

cout<<"0";


int a[100001];


memset(a,0,sizeof(a)); //各位数赋值0


int n=s.size();


int m=s1.size();


int len=0;


int b=0;


for(int i=n-1;i>=0;i--)


{


len=b++;  //各个位数乘之后进位


for(int j=m-1;j>=0;j--)


{


a[len]+=(s[i]-'0')*(s1[j]-'0');


a[len+1]+=a[len]/10;//大于等于十 进位相加;


a[len]%=10; //保留取余10之后的数;


len++;//进位继续相乘;


}


}


    int len1=n+m;


    int c=0;


    for(int i=len1-1;i>=0;i--)


    {


    if(a[i]==0)


    c++; //找出前置0;确保数值正确长度;


    else break;


    }


for(int i=len1-1-c;i>=0;i--)


cout<<a[i]; 


return 0;



 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区