提交记录 12315


用户 题目 状态 得分 用时 内存 语言 代码长度
lbb1993 1004a. 【模板题】高精度乘法2 Runtime Error 0 8.752 ms 112 KB C++11 795 B
提交时间 评测时间
2020-03-22 15:24:29 2020-08-01 02:53:58
#include<iostream>
#include<string>
using namespace std;

int main(){
    string as,bs;
    int an[101]={0},bn[101]={0},c[10200]={0},aLen,bLen,cLen;
    
    cin>>as>>bs;
    
    aLen=as.length();
    bLen=bs.length();
    
    //倒序存储两个数于整型数组中 
    for(int i=0;i<aLen;i++){
        an[aLen-i-1]=as[i]-'0';
    }
    
    for(int i=0;i<bLen;i++){
        bn[bLen-i-1]=bs[i]-'0';
    }

    //进行乘法运算,结果存于c[]
    for(int i=0;i<bLen;i++){
        for(int j=0;j<aLen;j++){
            c[i+j]+=an[j]*bn[i];
            c[i+j+1]+=c[i+j]/10;
            c[i+j]%=10;
        }
    }
     
    cLen=aLen+bLen;
    
    //删除结果高位的前缀0 
    while(c[cLen-1]==0  && cLen>1){
        cLen--;
    }
    
    //将结果倒序输出
    for(int i=cLen-1;i>=0;i--){
        cout<<c[i];
    }
    cout<<endl;
    
    return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #18.752 ms112 KBRuntime ErrorScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-26 06:29:16 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠