kove1230   5년 전

반복문을 안써서 틀린건가요?

djm03178   5년 전

10000 입력해보세요. 곱하기를 먼저 계산하면 double을 쓸 이유가 없어집니다.

kove1230   5년 전

그럼 홀수냐 짝수냐에 따라 출력을 다르게해야하나요..?

djm03178   5년 전

n이 홀수면 n + 1은 짝수이므로, n(n+1)도 짝수입니다. 따라서 2로 나누어떨어집니다.

n이 짝수면 n + 1은 홀수이지만 n(n+1)은 짝수입니다. 따라서 2로 나누어떨어집니다.

그래서 곱하기를 먼저 하면, 실수형으로 변환하지 않아도 항상 정답을 구할 수 있습니다.

kove1230   5년 전

이렇게 수정했는데도 정답이 아니라고뜨네요..

djm03178   5년 전

다시 말씀드리지만, 실수형이 중간에 나올 이유가 없습니다.
실수형을 쓴 채로 그대로 cout에 출력하면, 10000과 같은 입력에서 과학적 표기를 출력해버리기 때문에 오답이 됩니다.
0.5는 실수형이기 때문에 연산 과정에 이게 들어가 있으면 식 전체의 값도 실수형이 되어버립니다.
(n + 1) * n / 2
이거면 충분합니다.

kove1230   5년 전

아하.. 과학적 표기때문에 오답이나오는거였군요.

제대로 이해못해서 죄송합니다.ㅠ

계속 신경써주셔서 감사합니다. ㅎㅎ

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