6*9=42对于十进制来说是错误的,但是对于13进制来说是正确的,即6*9=42,而42=4*13^1+2*13^0=54,你的任务是写一段程序,读入三个整数p、q和r,然后确定一个进制B使得p*q=r,如果B有很多选择,输出最小的一个,例如:p=11, q=11, r=121.则有11*11=121因为11=1*3^1+1*3^0=4和121=1*3^2+2*3^1+1*3^0=16,对于进制10,同样有11*11= 121,这种情况下,应该输出3,如果没有合适的进制,则输出0。
6*9=42对于十进制来说是错误的,但是对于13进制来说是正确的。即6(13)*9(13)=42(13),而42(13)=4*13^1+2*13^0=54(10)。你的任务是写一段程序,读入三个整数p、q和r,然后确定一个进制B(2≤B≤40)使得p*q=r。如果B有很多选择,输出最小的一个。 例如:p=11, q=11, r=121.则有11(3)*11(3)=121(3)因为11(3)=1*3^1+1*3^0=4(10)和121(3)=1*3^2+2*3^1+1*3^0=16(10)。对于进制10,同样有11(10)*11(10)= 121(10)。这种情况下,应该输出3。如果没有合适的进制,则输出0。
(图片来源网络,侵删)