题目描述
写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 14 +15 +24 +25 +34+35
输入
两个小于1000000000的数
输出
输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。
样例输入
24 65
42 66666
3 67
样例输出
66
180
39
代码
#include <stdio.h>
int main()
{
int m,n;
while(scanf("%d %d",&m,&n)!=EOF){
int sum=0,cnt=0;
int tmp=n;
while(m){
n=tmp;
cnt=m%10;
// printf("#cnt########%d\n",cnt);
while(n){
sum+=(cnt*(n%10));
// printf("*n%10*********%d\n",n%10);
// printf("*sum&&&&&&&&*%d\n",sum);
n/=10;
}
m/=10;
}
printf("%d\n",sum);
}
return 0;
}
被注释掉的语句是我用来查错的;
做题过程中最大的错误是,把sum放在循环体外部定义,这样会导致之后输出的数据是前面几组数据的累加和;