Python/Practice
Q. 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+10)의 결과를 계산하시오
민지짱민지최고
2023. 8. 25. 09:12
방법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)