일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 참조은요양병원
- 리눅스 명령어
- Linux
- 반복문
- 리눅스
- For문
- IT
- 영재교육원
- 다중반복문
- 알고리즘
- 독서 감상문
- c언어
- 프로그래밍
- 풀이&소스코드저작권:왕유승
- 배열
- 정보과학
- API
- 정보올림피아드
- C
- 제어문
- Backdoor
- 문제출저:www.dovelet.com
- 백도어
- DBMS
- 정보영재원
- C++
- 자료구조
- 수학영재원
- 독후감
- if문
Archives
- Today
- Total
되는대로 살자
[C언어 기출문제&풀이] 개미 수열 본문
프로그램 명: antseries
제한시간: 1 초
개미 수열은 아래와 같이 수열이 만들어 진다.
1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 ....문제는 임의의 수열이 주어질 때 다음 단계의 수열을 알아내는 것이다.
어떤 규칙으로 확장되는지를 알아내는게 문제의 핵심이다.
입력
40 개 이하의 1 이상 9 이하의 수가 주어진다.입력의 끝은 0 이다.
출력
다음 단계의 수열을 한 줄에 출력한다.입출력 예
입력 1 2 1 1 0 출력 1 1 1 2 2 1
출처: 베르나르 베르베르
풀이 : 규칙은 이렇다. a(n)을 일반항이라고 하고, a(n-1)번째 항의 1의 갯수가a개 2의 갯수가b개... 이면 a(n)항은 a1b2처럼 표시한다.
소스코드 :
#include <stdio.h> |
02 |
|
03 |
int main() |
04 |
{ |
05 |
int a[40],i,count=0,temp=0; |
06 |
for (i=0;;i++) |
07 |
{ |
08 |
scanf ( "%d" ,&a[i]); |
09 |
if (a[i]==0) break ; |
10 |
count++; |
11 |
} |
12 |
for (i=1;i<=count;i++) |
13 |
{ |
14 |
if (a[i]!=a[i-1]) |
15 |
{ |
16 |
printf ( "%d %d " ,i-temp,a[i-1]); |
17 |
temp=i; |
18 |
} |
19 |
} |
'2009~2014 > C/C++' 카테고리의 다른 글
[C언어 기출문제&풀이] 역 직각 삼각형 별 (0) | 2010.11.02 |
---|---|
[C언어 기출문제&풀이] 직각 삼각형 별 (0) | 2010.11.02 |
[C언어 기출문제&풀이] 통나무 쌓기 (0) | 2010.11.02 |
[C언어 기출문제&풀이] 두 수의 연결 (0) | 2010.11.02 |
[C언어 기출문제&풀이] 완전 제곱수 (0) | 2010.11.02 |