With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

How to find if a number is a perfect square?

I am NOT looking for the solution which says check if sqrt is integer or not

I am NOT looking for the solution which says check if sqrt is integer or not

1 Solution

I don't want this solution

int n;

cin >> n;

if (sqrt (N) == Whole Number)

cout << "A perfect square"

else

cout << "Not a perfect square"

I was hoping more in terms of bit wise operators (>>,<<,&,|) etc

I actually read the solution in terms of bit wise operators many weeks ago. I could not recall the solution.

This is not due as in for assignment or hw. Hence I alotted only few points. Take your time and hopefully provide a solution i am looking for.

K

http://www.ticalc.org/pub/83plus/asm/source/routines/_fastsqrt_.zip

I came across this website which might be closer to what you are looking for.

http://www.fifi.org/cgi-bin/info2www?(gmp)Perfect+Square+Algorithm

It is possible that you remember seeing the bitwise solution for checking whether the number is power of 2 - it would be indeed simple in bitwise terms:

M is 2^N if and only if (M & (M-1)) equals zero (assuming N>0).

For N^2 I cannot remember anything simple (if I do, I'll let you know, of course).

Regards

l8rz... suma

I will leave the following recommendation for this question in the Cleanup topic area:

PAQ - no points refunded (of 50)

Any objections should be posted here in the next 4 days. After that time, the question will be closed.

Venabili

EE Cleanup Volunteer

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Tackle projects and never again get stuck behind a technical roadblock.

Join Now