jhkim990212   2년 전

C++ 어디가 틀린 것인지 모르겠습니다.

dladydwo123   2년 전

4을 넣으면 1이나와야하는데 4가 답으로 나옵니다.

그이유는 go 문에 0을 넣으면 0을 출력해야 하는데 

int ans = 100000;
for (int i = 1; i*i <= N; ++i) {
int tmp = go(N - i * i) + 1;
if (tmp < ans) ans = tmp;
}
return D[N] = ans;

의 메커니즘 특성상 for문을 돌리지 않고 그대로 ans을 출력하기 때문입니다.

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