我卡在一个问题上,其中给定下限L
和上限U
。
现在假设在整数X
的十进制表示中,数字4出现了A
次,数字7出现了B
次。
问题是找到L<=X<=U
范围内A*B
值最大的X
。
是否有有效的算法来解决它?
我卡在一个问题上,其中给定下限L
和上限U
。
现在假设在整数X
的十进制表示中,数字4出现了A
次,数字7出现了B
次。
问题是找到L<=X<=U
范围内A*B
值最大的X
。
是否有有效的算法来解决它?
也许一个例子可以帮助理解:
给定 U = 5000 和 L = 4900。
现在 Z = 0100。
从算法中我们设置
导致 X = 4974,目标为2*1=2
看起来你已经想好了算法。只需逐步分解并解决每个部分。我通常会像你那样写注释,然后将其分解,直到它们可以以合理的代码大小编写。
当你让它工作时,如果需要,可以进行优化。