【发布时间】:2010-01-28 07:42:32
【问题描述】:
为了理解这个问题,让我们首先考虑这些例子:
46 = (22)6 = 212 = (23)4 = 84 = 163 = 4096。
因此,我们可以说46、212、84和163 相同。
273 = 39 = 19683
所以,273 和 39 是相同的。
现在的问题是,对于任何给定的 ab 对,如何计算所有其他可能的(如果有的话)xy 其中,ab = xy。我对算法感兴趣可以在 C/C++ 中高效实现。
例如:
如果输入是这样的:
4,6 所需输出:(2,12),(8,4)
8,4 所需输出:(2,12),(2,6)
27,3 所需输出:(3,9)
12,6 所需输出:(144,3),(1728,2)
7,5 所需输出:No duplicate possible
【问题讨论】:
-
这是作业吗?如果是这样,请指定并提供您的初始尝试
-
不,这不是家庭作业。我只是好奇地想解决它,正是我从另一个问题中得到了灵感。
-
你的
a总是一个主要的力量吗?你所有的例子都是。或者可以是6? -
@AakashM:是的,它可以有任何价值。