1087: [기초-종합] 거기까지! 이제 그만~(설명)(C)
[만든사람 : 전현석, 정종광(채점데이터 및 확인), 배준호(확인), 최웅선(확인), 김지혜(그림) (2013)]
문제 설명
본 문제는 C 의 빠른 기초 학습을 위해 설계된 문제로서 C 코드 제출을 기준으로 설명되어 있습니다.
------
정수 1개(n)를 입력받는다.
1, 2, 3, ... 을 하나씩 계속 더해가면서 합을 만드는데,
그 합이 입력된 값(n)과 같거나 입력된 값(n)보다 커졌을 때, 그 때의 합을 출력해 보자.
예를 들어, 57 을 입력하면
1 + 2 + 3 + ... + 8 + 9 + 10 = 55 에서 그 다음 수 11 을 더해 66 이 되면,
그 때의 합 66 을 출력하면 된다.
예시
...
int n, i, s=0;
scanf("%d", &n);
for(i=1; ; i++) //for 반목문에서 가운데의 조건이 빠진 경우 무한 반복된다.
{
s+=i;
if(s>=n)
break; //참이면, 가장 가까운 반복 코드블록의 밖으로 빠져나간다.
} //break; 가 실행되면 반복을 중단하고 여기로 빠져 나온다.
printf("%d", s);
...
참고
반복 실행 구조 안에서 break 가 실행되면,
반복 실행을 중단(break)하고, 가장 가까운 반복 블록을 빠져 나간다.
무한 반복이 되는 코드는
while(1) {...}, do {...}while(1); 등도 가능하다.
0이 아니면 모두 참(true)으로 인식되기 때문이다.
------
정수 1개(n)를 입력받는다.
1, 2, 3, ... 을 하나씩 계속 더해가면서 합을 만드는데,
그 합이 입력된 값(n)과 같거나 입력된 값(n)보다 커졌을 때, 그 때의 합을 출력해 보자.
예를 들어, 57 을 입력하면
1 + 2 + 3 + ... + 8 + 9 + 10 = 55 에서 그 다음 수 11 을 더해 66 이 되면,
그 때의 합 66 을 출력하면 된다.
...
int n, i, s=0;
scanf("%d", &n);
for(i=1; ; i++) //for 반목문에서 가운데의 조건이 빠진 경우 무한 반복된다.
{
s+=i;
if(s>=n)
break; //참이면, 가장 가까운 반복 코드블록의 밖으로 빠져나간다.
} //break; 가 실행되면 반복을 중단하고 여기로 빠져 나온다.
printf("%d", s);
...
참고
반복 실행 구조 안에서 break 가 실행되면,
반복 실행을 중단(break)하고, 가장 가까운 반복 블록을 빠져 나간다.
무한 반복이 되는 코드는
while(1) {...}, do {...}while(1); 등도 가능하다.
0이 아니면 모두 참(true)으로 인식되기 때문이다.
입력 설명
정수 1개(n)가 입력된다.
(0<=n<=100000000)
(0<=n<=100000000)
출력 설명
1, 2, 3, ... 을 하나씩 계속 더해가면서 합을 만드는데,
그 합이 입력된 값(n)과 같거나, 입력된 값(n)보다 커졌을 때, 그 때의 합을 출력한다.
그 합이 입력된 값(n)과 같거나, 입력된 값(n)보다 커졌을 때, 그 때의 합을 출력한다.
입력 예시 Copy
57
출력 예시 Copy
66
도움
기초100제(c)1 v1.5 : 정보교사 커뮤니티 @컴퓨터과학사랑(CSL)
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.