Number algorithms

  • 20
  • Locked
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
You can't complete this task, because you're not signed in.
Comments (6)
  • Popular
  • New
  • Old
You must be signed in to leave a comment
Level 23 , Valladolid, Spain
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.
Gellert Varga
Level 23 , Szekesfehervar, Hungary
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:ám or here: - 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.)
Bart De Lepeleer
Level 30 , Belgium
17 December 2020, 17:22
Use Google, or work a lot 😀
Anthony Mack
Level 24 , Waukesha, United States
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?
Level 41
18 December 2020, 07:13
Please post your question with the attached solution in the section Help.
Oleksii Chernysh
Level 27 , Dnipro, Ukraine
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.