Algorithm/[Python] Code Up_basic100

[ 8086 ] 코드업 8086 : 거기까지! 이제 그만~

내일은개발천재🎵 2021. 4. 11. 00:16

< 문제 >

1, 2, 3 ... 을 순서대로 계속 더해 합을 만드는데, 
그 합이 입력한 정수보다 작을 동안만 계속 더하는 프로그램을 작성해보자.

즉, 1부터 n까지 정수를 하나씩 더해 합을 만드는데,
어디까지 더해야 입력한 수보다 같거나 커지는지 알아보고자 하는 문제이다.

하지만, 이번에는 그 때 까지의 합을 출력해야 한다.

예를 들어, 57을 입력하면
1+2+3+...+8+9+10=55에서 그 다음 수인 11을 더해 66이 될 때,
그 값 66이 출력되어야 한다.

< 푸는 방법 >

 힌트 1) 어디까지 더해야 입력한 수보다 같거나 커지는지 알려주는 프로그램 !

   => 입력한 수보다 작을 때까지 더해주면 된다 ! ( 이 포인트로 코딩하시면 됩니다. )

 

< 코드  1 >  : while 문 사용

a = int(input())
 result, i = 0, 0
 while(result < a):
   i += 1
   result += i
 print (result)

 

< 코드 2 > : for 문 사용

a = int(input())
result = 0
for i in range(a+1):
  if result >= a:
    break
  result += i

print (a if a < 3 else result) # a에 0, 1, 2 입력되었을 때 예외처리

 

📌 문제 6079와 비슷한 문제이다. zest1923.tistory.com/32 ( 내 풀이 )