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