题解 | #233#

233

https://ac.nowcoder.com/acm/problem/15756

#include <iostream>
#include <string>
using namespace std;
string multiply(const string& s1, const string& s2) {
    int len1 = s1.length(), len2 = s2.length();
    string result(len1 + len2, '0');
    for (int i = len1 - 1; i >= 0; i--) {
        for (int j = len2 - 1; j >= 0; j--) {
            int num1 = s1[i] - '0', num2 = s2[j] - '0';
            int sum = (result[i + j + 1] - '0') + num1 * num2;
            result[i + j + 1] = sum % 10 + '0';
            result[i + j] += sum / 10;
        }
    }
    int pos = result.find_first_not_of('0');
    if (pos != string::npos) {
        return result.substr(pos);
    }
    return "0";
}

int main() {
    int t=0;
    cin>>t;
    while(t--){
        string s1, s2;
        cin >> s1 >> s2;
        string result = multiply(s1, s2);
        cout << result << endl;
    }
    return 0;
}

全部评论

相关推荐

07-22 13:50
门头沟学院 Java
仁者伍敌:其实能找到就很好了,当然收支能抵
点赞 评论 收藏
分享
06-17 21:57
门头沟学院 Java
白友:噗嗤,我发现有些人事就爱发这些,明明已读不回就行了,就是要恶心人
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务