11068번 - 회문인 수
아래 코드에서 12번째 줄을 삭제하고 다음과 같이 수정하면 결과가 다르게 나오는데 이유가 뭘까요??
bool pd (int n){ for (int i=2; i<=64; i++) { string s; while (n) { s.push_back(n%i); n = n / i; } string rs = s; reverse(s.begin(), s.end()); if (s==rs) return true;
} return false;
}
인자로 받아온 n이 i=2에 대해 수행이 끝났을 때 이미 0이 되어있으므로 i=3부터는 수행되지 않습니다.
답변 감사합니다!
댓글을 작성하려면 로그인해야 합니다.
rkdeo4104 2년 전
아래 코드에서 12번째 줄을 삭제하고 다음과 같이 수정하면 결과가 다르게 나오는데 이유가 뭘까요??
bool pd (int n)
{
for (int i=2; i<=64; i++)
{
string s;
while (n)
{
s.push_back(n%i);
n = n / i;
}
string rs = s;
reverse(s.begin(), s.end());
if (s==rs)
return true;
}
return false;
}