算法笔记 Problem C: 特殊乘法
Description
写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 14 +15 +24 +25 +34+35
Input
两个小于1000000000的数
Output
输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。
Sample Input
24 65
42 66666
3 67
Sample Output
66
180
39
#include<cstdio>
#include<cstring>
//将整型数组当作字符串处理,结果用ASCII相减的方式变成整型
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');//a[i]-0代表将两个字符的ASCII码做差,减得实际整型数值!!!
}
}
printf("%d\n",sum);
memset(a,'\0',sizeof(a));//用memset函数将数组再次初始化为空字符
memset(b,'\0',sizeof(b));
}
return 0;
}