【发布时间】:2012-10-19 12:23:09
【问题描述】:
如果一个数字等于 n + nn + nnn + ... 对于 1 和 9 之间的某个数字 n,则称为数字递增。例如,24 是数字递增的,因为它等于 2 + 22(这里 n = 2 )。
实际上,我的一个朋友问我这个问题,我一直在思考这个问题,但到目前为止找不到确切的解决方案。任何人都可以帮忙吗?如果是数字增加,我需要返回 true 的函数,否则返回 false。
【问题讨论】:
-
如果您不需要特定语言的答案,我会回答。
-
我只想要逻辑。任何语言的代码都可以。
-
您只有 9 个选项可供尝试。它是
(1+11+...)或(2+22+...)... 或(9+99+...)。 -
您可以使用模/除法进行数字分离。例如,24/10=2 然后将其乘以 10 得到 20。然后将商 '2' 加到这个 '20' 上得到' 22'。现在尝试再次将'22'添加到商然后你得到24。如果它等于给定的数字那么它是数字增加的。只需将其概括为 N 位数。很简单。
-
为什么要关闭它。我在 C 语言中只有一个有效的答案...