程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 題目1075: 特殊乘法

題目1075: 特殊乘法

編輯:C++入門知識

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved