C++ program to check if number is a square number.

// © 2017 TheFlyingKeyboard and released under MIT License
// theflyingkeyboard.net

#include <iostream>

using namespace std;

bool isSquare(unsigned long long n);

int main() {
  unsigned long long num;

  cout << "Enter a number: ";
  cin >> num;

  if (isSquare(num)) {
    cout << "Number is square" << endl;
  }
  else
  {
    cout << "Number is not square" << endl;
  }

  int a;
  cin >> a;

  return 0;
}

bool isSquare(unsigned long long n) {
  for (unsigned long long i = 0; i < n / 2 + 2; i++) {
    if (i * i == n) {
      return true;
    }
  }

  return false;
}

 



C++ Check If Number Is Square Number
Tagged on:     

One thought on “C++ Check If Number Is Square Number

  • March 1, 2019 at 3:39 pm
    Permalink

    Hey, surely you should break once i*i exceeds n in the function isSquare? As this would give you O(root N) runtime, whereas this currently is O(N)

    for (unsigned long long i = 0; i * i <= n ; i++)

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

By continuing to use the site, you agree to the use of cookies. You can read more about it the Cookies&Privacy Policy Section Above. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this. You can read more about it the Cookies&Privacy Policy Section.

Close