1381. a*b
| |||||||
| |||||||
Time Limit: 1sec Memory Limit:32MB
Description
Give two positive integers a and b, please help us calculate a*b.
Input
The first line of the input is a positive integer T. T is the number of test cases followed. Each test case contain two integer a,b (0<=a<=10^100, 0<=b<=10,000) given in one line.
Output
The output of each test case should consist of one line, contain the result of a*b.
Sample Input
12 7
Sample Output
14 Problem Source: Algorithm Course Examination 2006 |
// source code of submission 1085278, Zhongshan University Online Judge System
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
cin>>n;
while (n--)
{
int a[101]={0},b,c[120]={0};
string s1;
cin>>s1>>b;
if(s1[0]!='0'&&b!=0)
{
for(int i=s1.length()-1;i>=0;i--)
a[i]=s1[s1.length()-i-1]-'0';
for(int i=0;i<=s1.length()-1;i++)
c[i]=a[i]*b;
if(s1.length()!=1)
{
for(int i=0;i<=s1.length()-2;i++)
{
c[i+1]+=c[i]/10;
c[i]%=10;
}
for(int i=s1.length()-1;i>=0;i--)
cout<<c[i];
cout<<endl;
}
else cout<<(s1[0]-'0')*b<<endl;
}
else cout<<0<<endl;
}
return 0;
}