We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.

- Prepare
- Algorithms
- Debugging
- Smart Number
- Discussions

# Smart Number

# Smart Number

#### Sort by

recency

#### |

#### 120 Discussions

#### |

Please Login in order to post a comment

I'm doing this question as a part of Mountblue coding challenge. There is no "Reset" button on the editor. Even my output matches the expected output, it still gives "wrong answer"

And at the end of the code there is an "undefined" written in teh code editor

Explanation of what the algorithm is actually doing.

For any number there will always be a pair of factors, a and b, for that number. Example for 24: 1&24, 2&12, 3&8, 4&6.

Due to this, the result will by default be an even number. However the only exception is when a number has an integer square root, as the root is only counted once towards the factors.

So the problem finds the integer root and checks if that root squared is equal to the original number. If so, then the answer is YES.

C++11 (more at https://github.com/IhorVodko/Hackerrank_solutions/tree/master , feel free to give a star :) )

As people said, if you even press a space anywhere else it gives a compile error instead of a "you modified more than one line" error.

Hint 1: Math.Sqrt does not return an int.

This question got a issue.All test case is paasing & Answer is pssing but still it's showing Wrong answer public static boolean isSmartNumber(int num) { int val = (int) Math.sqrt(num);

if(val*val == num) return true; return false; }