2041 - A@B
时间限制 : 1 秒
内存限制 : 128 MB
定义一个新的运算符,A @ B等于A和B中所有可能的数字对的成绩,再相加求和。 例如A = 456, B = 78,那么我们的A @ B = 4 * 7 + 4 * 8 + 5 * 7 + 5 * 8 + 6 * 7 + 6 * 8 = 225
题目输入
输入包含多组测试数据,每组数据两个整数A和B,中间用空格分离(1 ≤ A , B ≤ 1032)
题目输出
输出A和B按照我们的运算方式后的结果,每个结果输出一行。
输入/输出样例
输入格式
456 78
输出格式
225
C语言解答
#include<stdio.h> #include<string.h> main() { char ch1[60], ch2[60]; int result; while(scanf("%s %s",&ch1,&ch2)!=EOF) { result=0; for(int i=0;i<strlen(ch1);i++) for(int j=0;j<strlen(ch2);j++) result+=(ch1[i]-48)*(ch2[j]-48); printf("%d\n",result); } }
C++解答
#include <stdio.h> #include <string.h> int suma,sumb,sum; char a[40],b[40]; int numa[40],numb[40]; int main() { int lengtha ,lengthb,i,temp,j; while(scanf("%s %s",a,b)!=EOF) { suma=0; sumb=0; lengtha = strlen(a); lengthb = strlen(b); for(i=0;i<lengtha;i++) { temp=a[i]-'0'; numa[i] = temp; } for(i=0;i<lengthb;i++) { temp=b[i]-'0'; numb[i] = temp; } for(i=0;i<lengtha;i++) { suma = suma + numa[i]; } for(i=0;i<lengthb ; i++) { sumb=sumb+numb[i]; } sum = suma * sumb; printf("%d\n",sum); } }