방법01. 눈에 보이는 그대로
x = 1
sum = 0
while x <= 10:
y = 1
while x >= y:
sum = sum + y # sum = 0을 중간에 넣어야한다고 생각했는데 왜 이게 결과가 뜨냐? 다시이해하기
y = y + 1
x = x + 1
print(sum)
방법02. 변수의 적절한 활용 (01보다 좋은 코드)
x = 1
tempSum = 0 # 임시의 sum 이라는 뜻
sum = 0
while x <= 10:
tempSum = tempSum + x # tempSum -> 1, 1+2, 1+2+3...
sum = sum + tempSum
x = x + 1
print(sum)
방법03. 문제의 재구성
x = 1
sum = 0
while x <= 10:
sum = sum + (x * (11 - x))
x = x + 1
print(sum)
========== 연습 ===========
# 연습01. 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+10)의 결과를 계산하시오.
print("-------연습01-------")
x = 1
sum = 0
sumReal = 0
while x <= 10:
sum = sum + x
x = x + 1
print(sum) ## 이게 1~10까지의 합
print("-------연습02-------")
x = 1
sum = 0
sumReal = 0
while x <= 10:
sum = sum + x
sumReal = sumReal + sum ## sum이 1, 3, 6, 10....이렇게 올라가니까 이것들을 순차적으로 더해주는거지
x = x + 1
print(sumReal)
print("-------연습03 - 정석대로?-------")
# 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+10)의 결과를 계산하시오.
x = 1
sum = 0
while x <= 2:
y = 1
while y <= x:
y = y + 1
sum = sum + x + y
print(sum)
x = x + 1
# x 1 2 2
# y 2 2 3
# s 3 7 12 --------> 이런식인거지?
print("-------연습03-2-------")
x = 1
sum = 0
while x <= 10:
y = 1
while y <= x:
sum = sum + y # 1, 1+(1+2), 1+(1+2)+(1+2+3).... -> y는 x보다 작을동안 +1씩하면서 누적된다
y = y + 1
x = x + 1
print(sum)
print("-------연습03-3-------")
x = 1
sum = 0
while x <= 10:
y = 1
while y <= x:
sum = sum + y
y = y + 1
x = x + 1
print(sum)
'Python > Practice' 카테고리의 다른 글
Q. 1부터 76까지의 합을 구하는 코드를 작성하자 (0) | 2023.08.25 |
---|---|
Q. 1과 1부터 시작하는 피보나치수열의 10번째 수는 무엇인지 계산하는 프로그램 (0) | 2023.08.25 |
Q. 1+(-2)+3+(-4)+... 과 같은 식으로 계속 더해나갔을 때, 몇까지 더해야 총합이 100이상이 되는지 구하시오 -2 (0) | 2023.08.25 |
Q. 6/7단 제외 구구단 - 2 (0) | 2023.08.25 |
Q. 구구단 출력 -2 (0) | 2023.08.25 |