问题 C: 特殊乘法
时间限制: 1 Sec 内存限制: 32 MB
题目描述
写个算法,对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
提示:
用字符数组处理输入的数字,将其转换后计算。
参考代码:
#include <stdio.h>
#include<string.h>
int main()
{
int sum = 0, a=0,b=0;
char a_arr[15], b_arr[15];
while(scanf("%s %s", a_arr, b_arr) != EOF)
{
int i, j;
for(i = 0; i < strlen(a_arr); ++i)
{
a = (int)(a_arr[i]-'0');
for(j = 0; j < strlen(b_arr); ++j)
{
b = (int)(b_arr[j]-'0');
sum += (a*b);
}
}
printf("%d\n",sum);
a = 0;
b = 0;
sum = 0;
}
return 0;
}