dmzld   3년 전

아래와 같은 코드로 통과는 했는데

void validate(int num){
// for (int i = (int)sqrt(num) - 1; i*i <= num; i++)
for (int i = (int)sqrt(num) - 1; i <= (int)sqrt(num) + 1; i++)
if (i*i == num)
if (num > ans) ans = num;
}

이 부분에서 반복문 조건으로 i*i <= num 을 하면 통과하지 못하는 이유가 무엇인지 모르겠습니다

혹시 설명해주실 수 있는 분 있을까요?

lyj4032   3년 전

제곱수가 0일때를 생각해보시면 될듯합니다.

댓글을 작성하려면 로그인해야 합니다.