题目描述:
写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 14 +15 +24 +25 +34+35
输入:
两个小于1000000000的数
输出:
输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。
样例输入:
24 65
42 66666
3 67
样例输出:
66
180
39
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char A[12],B[12];
int sum;
while(scanf("%s %s",A,B)!=EOF)//题目输入停止条件不明确,惯用写法
{
sum=0;
for(int i=0;i<strlen(A);i++)
{
for(int j=0;j<strlen(B);j++)
{
sum=(A[i]-48)*(B[j]-48)+sum;//数字0的ASCLL码是48
}
}
printf("%d\n",sum);
memset(A,'\0',sizeof(A));//清楚字符串,对于这道题可有可无,因为每次都有新的输入,但是为了养成多点测试清空字符串的习惯,还是写上吧
memset(B,'\0',sizeof(B));
}
return 0;
}