Algorithm/[Python] Code Up_basic100
[ 6077 ] 코드업 6077 짝수 합 구하기
내일은개발천재🎵
2021. 4. 10. 18:55
< 문제 설명 >
1 ~ 100 사이의 정수가 입력된다. 1부터 그 수까지의 짝수의 합을 구해라.
<코드 1> for 문 이용
a = int(input())
result = 0 # 짝수의 총 합, 초깃값은 0
for i in range(0,a+1,2): # 0부터, a까지 탐색, i는 2씩 증가
result += i
print (result)
<코드 2> while 문 이용
i, result = 2, 0
a = int(input())
while (i <= a):
result += i
i += 2
print (result)
✏️ 로직 설명 ✏️
- 최종 합의 초깃값은 0이다.
- 반복문은 0부터 시작하여 2씩 증가한다. (2부터 시작해도 상관 없음.)
=> for문은 0부터 시작, while문은 2부터 시작하도록 작성해보았다.
- 반복문이 돌 때 마다, 최종 합의 값을 더한다. (result += i)
=> i가 2씩 증가하여 짝수 번째의 값만 가지기 때문에 항상 더할 수 있다. (코드 3, 4는 1씩 증가)
- 반복문이 끝나면, 결과를 출력한다.
< 코드 3 > 반복문이 2씩이 아니라 1씩 증가하는 경우 ( while, continue 사용 )
result, i = 0, 0
a = int(input())
while(i < a):
i += 1 # i는 1부터, a까지
if (i % 2 == 1) : continue #홀수일때는 다음 반복문으로 넘어감. (밑에 코드 실행 x)
result += i
print (result)
< 코드 4 > 반복문이 2씩이 아니라 1씩 증가할 경우 (for문 사용)
a = int(input())
result = 0
for i in range(a+1):
if i % 2 == 0:
result += i
print (result)
=> 홀수번째는 사실 필요 없는 반복문인 것을 알 수 있다.
n/2 번 돌 수 있는 코드를 굳이 n번 돌아 실행할 필요는 없다. 숫자가 커질수록, 이 차이는 무시할 수 없을 것이다.
그냥 이런식으로도 작성할 수 있다 ~