인프런 커뮤니티 질문&답변

tjdgusl1987님의 프로필 이미지
tjdgusl1987

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

비교연산자와 반복문+조건문 문제 풀이 강의 질문이요.

해결된 질문

작성

·

55

0

13:05부터 약간 문제풀이가 이해가 안 되어가지구요.

 

1 2 3 4 5 6 7 8 9 10

 

int=i

sum=0

 

첫번째 if문 sum+=i*i;

 

i%2 == 1 -> 2로 나누어서 나머지가 1값이 나오면 곱셈하라는 이야기이죠?

그러면 홀수인 1 3 5 7 9는 (1*1, 3*3, 5*5, 7*7, 9*9) 하라는 이야기이네요?

 

두번재 else 에서는 sum-= i; -> 음수값 붙이라는 이야기인가요?

그러면 짝수는 (-2, -4, -6, -8, -10) 이라는 이야기이네요?

 

거기서 1 2 3 4 5 6 7 8 9 10

처음 sum 값은 0이니 홀수는 1*1해서 1값이 나온거고

다음 짝수는 첫번째 sum 값인 1*1 에서 -2를 더해서 -1값이 나온거고

 

그래서

1 2 3 4 5 6 7 8 9 10

1 -1 8 4 29 23 72 64 145 135

(1*1) = 1

{(1*1) = 1} -2 = -1

(3*3)-1 = 8

{(3*3)-1 = 8} -4 = 4

이렇게 순서대로 이해하면 되나요? 이게 맞는건가요?

 

비전공자라 이해가 잘 안되서 여쭙니다.

 

감사합니다.

답변 1

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요, 질문을 주실 때는 해당 영상에서 오른쪽 커뮤니티 버튼 클릭해서 질문 주시면 제가 바로 해당 영상으로 갈 수 있습니다. 다음부터는 잘 부탁드립니다.

 

sum의 숫자 자체는 맞는데요,

2번째까지는 계산이 다 보이는데 3번째부터 바로 3*3 -1로 중간 앞에 누적 계산이 날아간 채로 들어가 있어서 제대로 계산하셨는지 추측이 어렵습니다.

 

여튼 그 전까지의 누적값에서 i가 3이 오는 순간 홀수이므로 3을 제곱한 9를 더해서 8이 되는게 맞습니다.

 

i가 4가 왔을 때 짝수이므로 누적값인 8에서 -4를 해서 (else에 걸림) 4가 되는 것이 맞습니다.

 

sum의 숫자가 전부 맞는 것을 봐서는 제대로 계산한 것으로 보입니다.

 

tjdgusl1987님의 프로필 이미지
tjdgusl1987

작성한 질문수

질문하기