문제
본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
1, 2, 3 ... 을 순서대로 계속 더해 합을 만드는데,
그 합이 입력한 정수보다 작을 동안만 계속 더하는 프로그램을 작성해보자.
즉, 1부터 n까지 정수를 하나씩 더해 합을 만드는데,
어디까지 더해야 입력한 수보다 같거나 커지는지 알아보고자 하는 문제이다.
하지만, 이번에는 그 때 까지의 합을 출력해야 한다.
예를 들어, 57을 입력하면
1+2+3+...+8+9+10=55에서 그 다음 수인 11을 더해 66이 될 때,
그 값 66이 출력되어야 한다.
예시
...
while True :
s += c
c += 1
if s>=n :
break
print(s)
참고
조건문이나 반복문의 코드블록 안에서 break 가 실행되면,
반복실행을 중단(break)하고, 가장 가까운 반복 블록의 밖으로 빠져나간다.
내 풀이
n = int(input())
s = 0
i = 0
while True:
i += 1
s += i
if s >= n:
break
print(s)
모범답안
a=int(input())
s=0
c=0
while True:
s=s+c
c=c+1
if s>=a:
break
print(s)
해설
입력할 값, 1씩 올려줄 값, 총합을 나타낼 값 변수를 만든다. while문을 돌면서 더해주고, 만약 입력한 값보다 커질 경우 break문으로 빠져나온다. 그 후 print문을 이용해 총합을 출력한다.
'CodeUp 기본 100제 - Python' 카테고리의 다른 글
[CodeUp] 6088 : [기초-종합] 수 나열하기1 (Python) (0) | 2023.05.12 |
---|---|
[CodeUp] 6087 : [기초-종합] 3의 배수는 통과 (Python) (0) | 2023.05.12 |
[CodeUp] 6085 : [기초-종합] 그림 파일 저장용량 계산하기 (Python) (1) | 2023.05.12 |
[CodeUp] 6084 : [기초-종합] 소리 파일 저장용량 계산하기 (Python) (0) | 2023.05.12 |
[CodeUp] 6083 : [기초-종합] 빛 섞어 색 만들기 (Python) (0) | 2023.05.12 |