DEV Community

loading...

Easy peasy perfect square

Divyajyoti Ukirde
I'm currently ๐ŸŒฑ learning and ๐Ÿ”ญ working on the Javascript Ecosystem. ๐Ÿ˜„ Pronouns: she/her โšก Fun fact: I have a Computer Engineering background but the most credit goes to Google and Stack Overflow
ใƒปUpdated on ใƒป1 min read

The question is to return true if the number is perfect square otherwise false.
A perfect square is an integer that is the square of an integer.
Javascript provides numerous ways to write a code for this. I will let you know that this is what I did:

const isSquare = (n) => {
    return  (Math.sqrt(n) === Math.ceil(Math.sqrt(n)));
}
Enter fullscreen mode Exit fullscreen mode

Below is the solution that impressed me, because it is simple Math my brain couldn't get hold of first:

const isSquare = function(n){
  return Math.sqrt(n) % 1 === 0;
}
Enter fullscreen mode Exit fullscreen mode

And it is clever and also follows the best practices!

Checking the datatype would also work using isInteger. But you never know when it would get obsolete! Languages change but the Math around remains the same! Choose better!

Discussion (4)

Collapse
itsjzt profile image
Saurabh Sharma • Edited

I used Number.isInteger detect if the square is integer github.com/itsjzt/euler-project/bl...

Collapse
divyajyotiuk profile image
Divyajyoti Ukirde Author • Edited

That is very much correct. It shows your knowledge in the language is really good. Also, it is always better to know the underlying operations. :)

Collapse
itsjzt profile image
Saurabh Sharma

It shows your knowledge in the language is really good

Stack overflow

Thread Thread
divyajyotiuk profile image
Divyajyoti Ukirde Author

The solution doesn't matter, when you get it, you need to understand and ask why ;)