网站页面
当前课程
成员
General
主题 1
主题 2
主题 4
主题 5
主题 6
主题 7
主题 8
主题 9
主题 10
主题 11
主题 12
主题 13
主题 14
主题 15
主题 16
主题 17
主题 18
主题 19
主题 20
表达式
成绩 | 0 | 开启时间 | 2013年02月21日 星期四 23:02 |
折扣 | 0.8 | 折扣时间 | 2013年02月28日 星期四 23:02 |
允许迟交 | 是 | 关闭时间 | 2013年02月28日 星期四 23:02 |
输入文件 | expressb.in | 输出文件 | expressb.out |
【问题描述】
“#”这个操作符被定义为一个双目运算符,且两个运算对象为正整数,对于整数X、Y,“#”号运算定义为(X#Y)=(X各位数字和)*(Y各位数字中最大数字)+(Y各位数字中最小数字)。例:
(9#30)=9*3+0=27
(30#9)=3*9+9=36
关于表达式,我们约定或是一个正整数或是(表达式#表达式),一个表达式中只有相同的正整数。以下表达式是合法的表达式:
A
(A#A)
((A#A)#A)
(A#(A#A)#(A#A)#A)
对于给定的十进制正数A和表达式的值K,计算具有K值的表达式中“#”的个数。具有K值的表达式可能有许多,并且具有不同的“#”个数,只需输出最小个数。
【输入文件】
本题有多组数据。
输入文件第一行一个正整数T表示数据组数,接下来依次给出每组数据。
每组数据包含两行,第一行只包含一个正整数描述A,第二行只包含一个非负整数描述K。
【输出文件】
输出文件包含T行,每行一个非负整数表示相应数据组的答案,若无解这一行就输出-1。
【样例输入】
3
2
6
3
7
1
87
【样例输出】
1
2
16
【评分标准】
本题包含10个测试点,对于每个测试点,如果你的输出和标准输出完全一样则得到该测试点的全部分数,否则得0分。
【数据规模】
T ≤ 100
A ≤ 2 000 000 000
K ≤ 2 000 000 000