HUSTOJ 1906: 特殊乘法

题目描述

写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:$123 * 45 = 1_4 +1_5 +2_4 +2_5 +3_4+3_5$

输入

两个小于1000000000的数

输出

输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。

样例输入

24 65
42 66666
3 67

样例输出

66
180
39

解题思路

可以使用string类型接受两个数的值,遍历并且累加每一位上相乘的结果

AC代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<string>
using namespace std;
int main()
{
std::string a = std::string();
std::string b = std::string();
while(cin>>a>>b)
{
int sum = 0;
for(int i=0; i<a.length(); i++)
{
for(int j=0; j<b.length(); j++)
{
sum += (a[i]-'0')*(b[j]-'0');
}
}
cout<<sum<<endl;
}
return 0;
}
分享到: