题目描述
写个算法,对2个小于1000000000的输入,求结果。 特殊乘法举例:123 * 45 = 14 +15 +24 +25 +34+35
输入描述:
两个小于1000000000的数
输出描述:
输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。
示例1
输入
123 45
输出
54
经验总结
- 用上了之前的
to_string(x) //将x变为string字符串
s[i]-‘0’ //将s[i]对应的变成数字
AC代码
#include <iostream>
#include <string>
using namespace std;
//思路:输入数据,将数据转化为字符串,字符串的每个字符变成数后相乘,用sum吸收
int fun(int m,int n){
string s1,s2;
s1 = to_string(m);
s2 = to_string(n);
int sum =0;
for(int i = 0;i<s1.size();i++)
for(int j = 0;j<s2.size();j++){
sum+=((s1[i]-'0')*(s2[j]-'0'));
}
return sum;
}
int main(){
int m,n;//输入
while(cin>>m>>n){
cout<< fun(m,n)<<endl;
}
return 0;
}