PAT1010
Given a pair of positive integers, for example, 6 and 110,
给出一对正整数,例如6和110
can this equation 6 = 110 be true?
6=110这个等式能是对的吗
The answer is "yes", if 6 is a decimal number and 110 is a binary number.
答案是yes,如果6是十进制数,110是二进制数
Now for any pair of positive integers N1 and N2,
现在给出任意的一对正整数N1和N2
your task is to find the radix of one number while that of the other is given.
你的任务是找到一个数的进制和另一个数的
Input Specification:
Each input file contains one test case. Each case occupies a line which contains 4 positive integers:
每个输入文件包含一个测试用例,每个测试用例给出一行包含4个正整数
N1 N2 tag radix
Here N1 and N2 each has no more than 10 digits.
N1和N2每个都不会超过10个数字
A digit is less than its radix and is chosen from the set {0-9, a-z}
一个数字最少有一个进制,所以是在0-9,a-z里面选的
where 0-9 represent the decimal numbers 0-9,
0-9表示十进制的0-9
and a-z represent the decimal numbers 10-35.
a-z表示十进制的10-35
The last number "radix" is the radix of N1 if "tag" is 1, or of N2 if "tag" is 2.
最后一个是基数,如果tag是1,这个基数就是N1的,否则是N2的
Output Specification:
For each test case, print in one line the radix of the other number so that the equation N1 = N2 is true.
对于每个测试用例,打印出一行一个基数使得另一个数能满足等式两边相等
If the equation is impossible, print "Impossible". If the solution is not unique, output the smallest possible radix.
如果有等式是不可能成立的,打印出impossible,如果解决方案不唯一,打印出最小的可能的值。
Sample Input 1:
6 110 1 10
Sample Output 1:
2
Sample Input 2:
1 ab 1 2
Sample Output 2:
Impossible
这道题目就是给出两个数,给出一个数的进制,求另一个数的进制,要满足两个数相等的条件下。
给出思路,首先把知道进制的数转换成10进制,然后把另一个不知道进制的数,用二分的思想去找到一个进制,转换成10进制之后能满足两数相等的条件。
做这道题的我已经放弃了,靠,题目给出的是0-9a-z但是最高的进制数并不是36,所以一直错一直错。
给出的思路就这样吧,有了二分的思想我觉得就可以了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?