题目1075: 特殊乘法
题目描述
写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 1*4 +1*5 +2*4 +2*5 +3*4+3*5
输入
两个小于1000000000的数
输出
输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。
样例输入
24 65
42 66666
3 67
样例输出
66
180
39
提示 [+]
*** 提示已隐藏,点击上方 [+] 可显示 ***
来源
2010年清华大学计算机研究生机试真题
[cpp]
/*********************************
* 日期:2013-3-18
* 作者:SJF0115
* 题号: 天勤 题目1075: 特殊乘法
* 来源:http://acmclub.com/problem.php?id=1075
* 结果:AC
* 来源:2010年清华大学计算机研究生机试真题
* 总结:
**********************************/
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,len1,len2,sum;
char str1[11],str2[11];
//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);
while(scanf("%s %s",str1,str2) != EOF){
sum = 0;
len1 = strlen(str1);
len2 = strlen(str2);
for(i = 0;i < len1;i++){
for(j = 0;j < len2;j++){
sum += (str1[i] - '0') * (str2[j] - '0');
}
}
printf("%d\n",sum);
}
return 0;
}
/*********************************
* 日期:2013-3-18
* 作者:SJF0115
* 题号: 天勤 题目1075: 特殊乘法
* 来源:http://acmclub.com/problem.php?id=1075
* 结果:AC
* 来源:2010年清华大学计算机研究生机试真题
* 总结:
**********************************/
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,len1,len2,sum;
char str1[11],str2[11];
//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);
while(scanf("%s %s",str1,str2) != EOF){
sum = 0;
len1 = strlen(str1);
len2 = strlen(str2);
for(i = 0;i < len1;i++){
for(j = 0;j < len2;j++){
sum += (str1[i] - '0') * (str2[j] - '0');
}
}
printf("%d\n",sum);
}
return 0;
}
[cpp]
#include <iostream>
using namespace std;
int main(){
int m, n, i, j;
int a[9], b[9];
int al, bl;
while( cin >> m >> n ){
for( i=0; m!=0; i++ ){
a[i] = m % 10;
m /= 10;
}
al = i;
for( j=0; n!=0; j++ ){
b[j] = n % 10;
n /= 10;
}
bl = j;
int num = 0;
for( i=0; i<al; i++ )
for( j=0; j<bl; j++ )
num += a[i]*b[j];
cout << num << endl;
}
return 0;
}
#include <iostream>
using namespace std;
int main(){
int m, n, i, j;
int a[9], b[9];
int al, bl;
while( cin >> m >> n ){
for( i=0; m!=0; i++ ){
a[i] = m % 10;
m /= 10;
}www.zzzyk.com
al = i;
for( j=0; n!=0; j++ ){
b[j] = n % 10;
n /= 10;
}
bl = j;
int num = 0;
for( i=0; i<al; i++ )
for( j=0; j<bl; j++ )
num += a[i]*b[j];
cout << num << endl;
}
return 0;
}
补充:软件开发 , C++ ,