欢迎访问==> 【考研OR保研】机试题
题目描述
给定一个 $n$ 位整数 $A$,各位从高到低依次为 $a_1,a_2,…,a_n$。
给定一个 $m$ 位整数 $B$,各位从高到低依次位 $b_1,b_2,…,b_m$。
给定一种特殊乘法,不妨用 $\\otimes$ 来表示,我们规定 $A \\otimes B = \\sum\\limits_{i=1}^n\\sum\\limits_{j=1}^m a_i \\times b_j$
例如,$123 \\otimes 45 = 1 \\times 4 +1 \\times 5 +2 \\times 4 +2 \\times 5 +3 \\times 4+3 \\times 5$。
对于给定的 $A$ 和 $B$,请你计算并输出 $A \\otimes B$ 的值。
输入格式
两个整数 $A$ 和 $B$。
输出格式
一个整数,表示 $A \\otimes B$ 的值。
数据范围
$1 \\le A,B \\le 10^9$
输入样例:
123 45
输出样例:
54
C++ 代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
string a, b;
cin >> a >> b;
vector<int> A, B;
for(int i = 0; i < a.size(); i ++) A.push_back(a[i] - '0');
for(int i = 0; i < b.size(); i ++) B.push_back(b[i] - '0');
int res = 0;
for(int i = 0; i < A.size(); i ++)
{
for(int j = 0; j < B.size(); j ++)
{
res += A[i] * B[j];
}
}
cout << res << endl;
return 0;
}