본문 바로가기

Python/Practice

Q. 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...+10)의 결과를 계산하시오

방법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. 문제의 재구성 ( > 아이디어임. 정답은 아니라고 봄!)