Given a number n, return the terminal value of the number chain formed by summing the square of the digits. According to the Project Euler problem, this number chain always terminates with either 1 or 89.
Project Euler Problem 92: Link
Solution Stats
Problem Comments
3 Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers254
Suggested Problems
-
Calculate the Levenshtein distance between two strings
1507 Solvers
-
Solve the set of simultaneous linear equations
496 Solvers
-
Sum of diagonal of a square matrix
1637 Solvers
-
Given a window, how many subsets of a vector sum positive
871 Solvers
-
375 Solvers
More from this Author56
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
Let consider the case x=954
954 -> 122 -> 9 -> 81 -> 65 -> 61 -> 37 -> 58 -> 89 -> 145 -> 42 -> 20 -> 4 -> 16 -> 37
So 37 is seen twice, it should end up with 37, no ?
No, 89 shows up before 37 does
By the description at ProjectEuler.net, it seems M is correct in their statement. The description there reads: "continuously [...] form a new number until it [that number just formed] has been seen before." That is exactly what M has done. Project Euler says furthermore: "[...] EVERY starting number will eventually arrive at 1 or 89." That is _not_ the same as stating: "this number chain always terminates with either 1 or 89". The key difference is in "arrives at" (the number appears) versus "terminates with" (the number is the first to appear twice in the sequence). In M's example, the sequence truly 'terminates with' 37 (as M said), but before it terminates the sequence had 'arrived at' 89.