任务描述
转身乘号可用@表示,2个正整数转身乘法(A@B)的规则是:将被乘数A转身后再乘以乘数B。
例如:123@2的结果不是246,而是642,规则就是被乘数123先转身变成321再和2相乘,321被称为123的转身数,以此类推,可知405是504的转身数。然而,讨厌的C语言老师规定,一个数在转身时,末尾的0位置不变,例如:1200的转身数是2100,100的转身数还是100。
输入格式:
第一行是一个整数N表示有N组数据 接下来的N行中,每行两个正整数A和B,代表一组数据,数据和结果保证在int范围之内。
输出格式:
输出N行,每行一个整数,为每组数据的转身积(被乘数转身后乘以乘数)。
输入样例:
5
12306 5
12000 80
52030 4
54321 10
98765 1234
输出样例:
301605
1680000
121000
123450
70077626
代码
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n;
cin>>n;
int a,b;
for(int i=1;i<=n;i++){
cin>>a>>b;
int number=a,num=0;
while(number>0){
number/=10;
num++;
}
//cout<<num<<endl;
int temp=0;
while(a>0){
temp=temp*10+a%10;
a/=10;
}
int time=temp,num_time=0;
while(time>0){
time/=10;
num_time++;
}
if(num!=num_time)
temp*=pow(10,(num-num_time));
cout<<temp*b<<endl;
}
return 0;
}