Project Euler 112
Project Euler 112
题目
Bouncy numbers
Working from left-to-right if no digit is exceeded by the digit to its left it is called an increasing number; for example, \(134468\).
Similarly if no digit is exceeded by the digit to its right it is called a decreasing number; for example, \(66420\).
We shall call a positive integer that is neither increasing nor decreasing a "bouncy" number; for example, \(155349\).
Clearly there cannot be any bouncy numbers below one-hundred, but just over half of the numbers below one-thousand (\(525\)) are bouncy. In fact, the least number for which the proportion of bouncy numbers first reaches \(50\%\) is \(538\).
Surprisingly, bouncy numbers become more and more common and by the time we reach \(21780\) the proportion of bouncy numbers is equal to \(90\%\).
Find the least number for which the proportion of bouncy numbers is exactly \(99\%\).
解决方案
可以发现,随着\(n\)的增大,弹跳数的数量会占绝大多数。
因此,直接从\(1\)开始暴力枚举,并直接判断是否为弹跳数。
代码
1 |
|