해결된 질문
작성
·
60
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의 숫자가 전부 맞는 것을 봐서는 제대로 계산한 것으로 보입니다.