題目描述 寫個算法,對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.2cto.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; }