九度oj-1083

题目描述:

写个算法,对2个小于1000000000的输入,求结果。

特殊乘法举例:123 * 45 = 1*4 +1*5 +2*4 +2*5 +3*4+3*5

输入:

两个小于1000000000的数

输出:

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

样例输入:

123 45

样例输出:

54

代码:

#include <iostream>  
#include <cmath>  
using namespace std;  
void multiple(int num1,int num2)  
{  
    int n1[10],n2[10];    //存数位  
    int i,j;  
    int k=0,l=0;  
    int result=0;         //计算结果  
    while(num1>0)  
    {  
        n1[k]=num1%10;  
        num1/=10;  
        k++;  
    }  
    while(num2>0)  
    {  
        n2[l]=num2%10;  
        num2/=10;  
        l++;  
    }  
    for(i=0;i<k;i++)  
    {  
        for(j=0;j<l;j++)  
        {  
            result+=(n1[i]*n2[j]);  
        }  
    }  
    cout<<result<<endl;  
}  
int main()  
{  
    int num1,num2;  
    while(cin>>num1>>num2)  
    {  
        multiple(num1,num2);  
    }  
    return 0;  
}