Coding_Test 연습/Programmers

[프로그래머스] (C++) LV1 정수 제곱근 판별

Codetesing 2022. 4. 27. 08:12

쉬운문제.

root를 씌운것이 정수 인지 아닌지 판별하면 된다.

본인은 sqrt가 내림하여도 같다면 소숫점이 없다는것과 같으므로 그렇게 판별 하였다.

#include <cmath>

using namespace std;

long long solution(long long n) {
    long long answer = -1;

    if (sqrtl(n) == floorl(sqrtl(n)))
        answer = pow(sqrtl(n) + 1, 2);

    return answer;
}