일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 영재교육원
- c언어
- 참조은요양병원
- For문
- Backdoor
- 자료구조
- 수학영재원
- 문제출저:www.dovelet.com
- 배열
- 다중반복문
- 풀이&소스코드저작권:왕유승
- 독후감
- 리눅스 명령어
- 프로그래밍
- 정보과학
- if문
- C++
- Linux
- C
- 반복문
- 정보영재원
- 독서 감상문
- API
- 제어문
- 알고리즘
- DBMS
- IT
- 정보올림피아드
- 리눅스
- 백도어
Archives
- Today
- Total
되는대로 살자
[C언어 기출문제&풀이] 중간수 본문
프로그램 명: center1
제한시간: 1 초
1 부터 n-1 까지의 합이 n+1,n+2,... 의 합과 같을 때 n 을 중간수라 한다.예를 들어 , 4 는 1+2+3=6 이고 5 부터 차례대로 더해갈 때 5+6=11 이므로 4 는 중간수가 될 수 없다.
6 은 1+2+3+4+5=15 이고 7+8=15 이므로 6 은 중간수이다.
정수 하나를 입력으로 받아 중간수 인지를 판별하는 프로그램을 작성하시오.
입력
10,000 이하의 자연수가 입력으로 주어진다.출력
중간수이면 O , 아니면 X 를 출력한다.입출력 예
입력 6 출력 O 입력 10 출력 X
보충 설명
35 는 중간수- 1 + 2 + ... + 34 = 595
- 36 + 37 + ... + 49 = 595
소스코드
01 |
#include <stdio.h> |
02 |
|
03 |
int main() |
04 |
{ |
05 |
int n,i,front=0,back=0; |
06 |
scanf ( "%d" ,&n); |
07 |
for (i=0;i<n;i++) |
08 |
{ |
09 |
front=front+i; |
10 |
} |
11 |
for (i=n+1;;i++) |
12 |
{ |
13 |
if (back>=front) |
14 |
break ; |
15 |
back=back+i; |
16 |
} |
17 |
if (back==front) |
18 |
printf ( "O" ); |
19 |
else |
20 |
printf ( "X" ); |
21 |
} |
'2009~2014 > C/C++' 카테고리의 다른 글
[C언어 기출문제&풀이] spped limit (0) | 2010.11.02 |
---|---|
[C언어 기출문제&풀이] (0) | 2010.11.02 |
[C언어 기출문제&풀이] 1의 위치 (0) | 2010.11.02 |
[C언어 기출문제&풀이] 거듭제곱 (0) | 2010.11.02 |
[C언어 기출문제&풀이] 서로 소 (0) | 2010.11.02 |