#include "iostream"
#include "string"
using namespace std;
int main()
{
string str;
int a, size, temp1;
while (cin >> str >> a)
{
string ans = "";
if (a == 0)
cout << "0" << endl;
else
{
size = str.size();
int temp2, temp3 = 0;//temp2为两个数相乘的积,temp3为进位数!
for (int i = size - 1; i >= 0; i--)
{
temp1 = str[i] - 48;//将字母转化为数字
temp2 = temp1 * a + temp3;//相乘得出积
if (temp2 >= 10)
{
temp3 = temp2 / 10;//取进位数
temp2 = temp2 % 10;//得出个位数
}
else//如果temp2没有大于10,就将进位数归0
{
temp3 = 0;
}
ans += (temp2 + 48);
}
if (temp3 != 0)//对最后一位相乘的数进行判断,如果有进位数的,需要加入字符串中,否则,不加!
ans += temp3 + 48;
int length = ans.size();
for (int j = length-1; j >= 0; j--)
cout << ans[j];
cout << endl;
}
}
}
zjut 1027 大数的乘法
最新推荐文章于 2023-02-21 21:38:01 发布