Loading

P1303 A*B Problem

题目链接

https://www.luogu.com.cn/problem/P1303

题目思路

模板题

题目代码

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;
vector<int> a, b;

vector<int> mult(vector<int> &a, vector<int> &b)
{
    vector<int> c(a.size() + b.size(), 0);
    int t = 0;
    for(int i = 0; i < a.size(); i ++ )
        for(int j = 0; j < b.size(); j ++ )
            c[i + j] += a[i] * b[j];
            
    for (int i = 0; i < c.size(); i ++ ) 
    { 
        t += c[i];
        c[i] = t % 10;
        t /= 10;
    }
    
    while(c.size() > 1 && c.back() == 0) c.pop_back();
    return c;
}

int main()
{
    string A, B;
    cin >> A >> B;
    for(int i = A.size() - 1; i >= 0; i -- ) a.push_back(A[i] - '0');
    for(int i = B.size() - 1; i >= 0; i -- ) b.push_back(B[i] - '0');
    
    auto c = mult(a, b);
    for(int i = c.size() - 1; i >= 0; i -- ) cout << c[i];
    return 0;
}
posted @ 2022-03-09 08:55  vacilie  阅读(23)  评论(0编辑  收藏  举报