PAT 甲级 1010 Radix
这个题目就是说有两个正数,一个已经知道这个数是多少进制,然后让你判断那个数在多少进制的情况下是否可以等于第一个数,并且求出这个进制。
因为做题比较少,没有注意到会溢出、运行超时的问题,导致检查很久也找不到错在哪里。
(1)题目中进制没有规定大小,所以可以很大,用int会溢出,考虑采用long long型;
(2)如果一个数的进制非常大,在不考虑进制上界的时候,会运行超时。(所求数的下界就是这个数最大的一位数+1,上界就是已知进制的那个数的十进制数+1。)知道上下界,就可以用二分查找,找到那个进制。