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