Suppose the number S consists of M digits. For example, if S = 370, then M (the number of digits) = 3
Implement the getNumbers method. Among natural numbers less than N (long), it should
find all the numbers satisfying the following criterion:
The number S is equal to the sum of its digits raised in the Mth
Number algorithms
- 20
Locked
Comments (6)
- Popular
- New
- Old
You must be signed in to leave a comment
jjopc
20 November 2021, 18:59
I don't see the point of this extremely difficult task at this point in the course. I could only get over it by searching in google and reading the help section.
0
Gellert Varga
28 December 2021, 00:07
I feel the same way.
But here is a very unique idea:
There are only 89 Armstrong numbers in the decimal number system. All 89 are listed here:
https://hu.wikipedia.org/wiki/Armstrong-szám
or here:
https://mathworld.wolfram.com/NarcissisticNumber.html
- Put all of them in a long[] array (that are less than Long.MAX_VALUE).
- Use this array to return the results.
- Exception: CG does not accept zero as an Armstrong number. So take zero out of the long[] array mentioned above.
(I wish I could come up with such great ideas... but this solution was not my idea, it is from another user. And the validator accepts it. By the way, I have no idea how to make an algorithm that is able to check 9223372036854775807 numbers in less than 10 seconds.)
+2
Bart De Lepeleer
17 December 2020, 17:22
Use Google, or work a lot 😀
0
Anthony Mack
15 December 2020, 16:02
If I run my solution w/o verification it returns the arrays from the Solution input w/o a problem. However, whenever I run the validation, it states that it looks like I have an infinite loop. What gives?
0
Roman
18 December 2020, 07:13
Please post your question with the attached solution in the section Help.
0
Oleksii Chernysh
6 December 2019, 21:22
Interesting task and no pain from validator compared to some previous tasks. Good to know that numbers start from 1, not 0. Possibly this is obvious but I didn't realize this from the requirements. And understood that these are Armstrong numbers only after solving the problem.
0