游客 Signup | Login
中文 | En

1489 - 特殊乘法

写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 1*4 +1*5 +2*4 +2*5 +3*4+3*5

Input

 两个小于1000000000的数

Output

 输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。

Examples

Input

24 65
42 66666
3 67

Output

66
180
39

Solution C

#include<stdio.h>
#include<string.h>
int maxsize=20;
int calc(char a[], char b[]){
  int lena, lenb, i, j, result;
  lena=strlen(a);
  lenb=strlen(b);
  result=0;
  for(i=0; i<lena; i++){
    for(j=0; j<lenb; j++){
      result+=(a[i]-'0')*(b[j]-'0');
    }
  }
  return result;
}
  
int main(){
  char a[maxsize], b[maxsize];
  int result;
  while(scanf("%s%s", a, b)==2){
    result=calc(a, b);
    printf("%d\n", result);
  }
  return 0;
}

Solution C++

#include <stdio.h>
int a,b;
int run()
{
	int i=0,j=0;
	while(a!=0)
	{
		i+=a%10;
		a/=10;
	}
	while(b!=0)
	{
		j+=b%10;
		b/=10;
	}
	printf("%d\n",i*j);
}
int main()
{
	scanf("%d%d",&a,&b);
	while((a!=-9999999)||(b!=-4444444))
	{
		run();
		a=-9999999;
		b=-4444444;
		scanf("%d%d",&a,&b);
	}
	return 0;
}
Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题