Programers : 정수 제곱근 판별하기(pow / sqrt)

김정욱·2021년 1월 19일
0

Algorithm - 문제

목록 보기
48/249
post-custom-banner

cmath

  • 제곱근이 정수인지 판별하기 위한 2가지 방법이 있다.
    방법 1) 제곱하여 정수값인지 확인하기
    방법 2) int형으로 강제 변환해서 비교하기
  • sqrt()pow(), powl(), powf()<cmath>에 있다.
    (반환형이 double / long / float이냐에 따라 다름!)

코드

#include <string>
#include <vector>
#include <cmath>
using namespace std;

long long solution(long long n) {
    long long sq = (int)sqrt(n) == sqrt(n) ? sqrt(n) : -1;
    return sq > 0 ? powl(sq+1,2) : -1;
}
profile
Developer & PhotoGrapher
post-custom-banner

0개의 댓글