思路

最直观的做法就是把两个数字的每一位存入数组中,然后遍历两个数组计算每一位的积,然后加起来就好了。我看到有把输入当作字符串来处理的,这个就不需要再用数组进行存储了,直接遍历字符串中的每个字母就可以了,当然这道题是很简单的,没必要多说。

#include<iostream>
#include<vector>

using namespace std;

int cal(int num1, int num2){
    vector<int> nums1, nums2;
    while(num1){
        if(num1 % 10)
            nums1.push_back(num1 % 10);
        num1 /= 10;
    }
    while(num2){
        if(num2 % 10)
            nums2.push_back(num2 % 10);
        num2 /= 10;
    }
    int ans = 0;
    for(int n1 : nums1)
        for(int n2 : nums2)
            ans += n1 * n2;
    return ans;
}

int main(){
    int num1, num2;
    while(cin >> num1 >> num2){
        cout << cal(num1, num2) << endl;
    }
    return 0;
}