PS/알고리즘
제곱수 판별 알고리즘
woojin042
2023. 12. 3. 21:22
정수 N이 주어졌을 때, N=k*k로 나타내어지는 정수 k가 존재하는지 판별하는 알고리즘이다.
sqrt 함수의 시간복잡도가 O(logN)이라고 가정하면, 알고리즘의 시간복잡도는 O(logN)이 된다.
int issqrt(int n){
int sq=(int)(sqrt(n)+0.5);
if(sq*sq==n) return sq;
else return -1;
}