poroli0119   1년 전

모든 경우의수를 다 포함시키도록 코드를 짰다고 생각했는데

막상 dev c++에 돌리면 엉뚱한 숫자가 출력되어서요!

어디가 문제인지 알려주시면 감사하겠습니다!

sth3353   1년 전

3만의 배수라고 해서 3으로 나눈 몫이 항상 정답인 것은 아닙니다.

예를 들어 18이 입력값으로 들어오면 3만의 배수이므로 6을 출력합니다.

그러나 5가 3개, 3이 1개로 4가 정답입니다.

poroli0119   1년 전

헉 감사합니다!!

poroli0119   1년 전

말씀하신대로 짜봤는데 반례가 있을까요?

dev c++에 입력시 맞게끔 출력됩니다.

poroli0119   1년 전

백준에서는 틀렸다고 나오네요 ㅠㅜ

sth3353   1년 전

5를 최대한 채운 후 그 나머지가 3의 배수가 아니라고 해서 5를 사용하지 않는 것이 정답은 아닙니다.

예를 들어 21은 3만의 배수입니다. 작성자님의 코드대로라면 5를 최대한 채우고 나머지가 1이기 때문에 3으로 나눈 몫인 7을 출력합니다.

그러나 21 = 5 * 3 + 3 * 2이므로 5가 정답입니다.

poroli0119   1년 전

반례 감사합니다 위 처럼 짜버리면 원하는대로 답이 안나오겠네요 ㅠㅠ 처음부터 다시해보겠습니다

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