问题 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
经验总结
将输入当做字符串进行处理,然后枚举所有可能的乘法,累积相加输出即可~
AC代码
#include <cstdio>
#include <cstring>
int main()
{
char A[10],B[10];
while(scanf("%s %s",A,B)!=EOF)
{
int sum=0;
for(int i=0;i<strlen(A);i++)
for(int j=0;j<strlen(B);j++)
sum+=(A[i]-'0')*(B[j]-'0');
printf("%d\n",sum);
memset(A,'\0',sizeof(A));
memset(B,'\0',sizeof(B));
}
return 0;
}