1183: [기초-종합] 빛 섞어 색 만들기(설명)(C)
[만든사람 : 전현석, 정종광(채점데이터 및 확인), 배준호(확인), 최웅선(확인), 김지혜(그림) (2013)]
문제 설명
본 문제는 C 의 빠른 기초 학습을 위해 설계된 문제로서 C 코드 제출을 기준으로 설명되어 있습니다.
------
빛의 3원 색인 빨강(red), 초록(green), 파랑(blue) 빛을 섞어서 여러 가지 다른 색을 만들어내려고 한다.
RGB 각 색깔별로 만들어 낼 수 있는 빛의 가짓수가 주어질 때,
RGB 색을 섞어 만들 수 있는 모든 R G B 정보와 총 가짓수를 계산해보자.
**모니터, 스마트폰과 같은 디스플레이에서 각 픽셀(pixel)의 색을 만들어내기 위해서 이런 방식으로 R, G, B 색을 조합한다.
**픽셀은 그림(picture)을 구성하는 세포(cell)라는 의미로부터 이름이 만들어졌다. 한자로는 화소라고 한다.
예시
...
int i, j, k, c=0;
int r, g, b;
scanf("%d%d%d”, &r, &g, &b);
for(i=0; i<r; i++)
for(j=0; j<g; j++)
for(k=0; k<b; k++)
{
printf("%d %d %d\n", i, j, k);
c++;
}
printf("%d ", c);
...
------
빛의 3원 색인 빨강(red), 초록(green), 파랑(blue) 빛을 섞어서 여러 가지 다른 색을 만들어내려고 한다.
RGB 각 색깔별로 만들어 낼 수 있는 빛의 가짓수가 주어질 때,
RGB 색을 섞어 만들 수 있는 모든 R G B 정보와 총 가짓수를 계산해보자.
**모니터, 스마트폰과 같은 디스플레이에서 각 픽셀(pixel)의 색을 만들어내기 위해서 이런 방식으로 R, G, B 색을 조합한다.
**픽셀은 그림(picture)을 구성하는 세포(cell)라는 의미로부터 이름이 만들어졌다. 한자로는 화소라고 한다.
...
int i, j, k, c=0;
int r, g, b;
scanf("%d%d%d”, &r, &g, &b);
for(i=0; i<r; i++)
for(j=0; j<g; j++)
for(k=0; k<b; k++)
{
printf("%d %d %d\n", i, j, k);
c++;
}
printf("%d ", c);
...
입력 설명
RGB 각 색깔별로 만들어 낼 수 있는 빛의 가짓수가 스페이스로 분리되어 한 줄로 입력된다.
(0<=R,G,B<=127)
예를 들어, 3 3 3 은 각 색에 대해서 0 ~ 2 단계까지 3 가지 세기로 각각의 빛을 만들어 낼 수 있음을 의미한다.
(0<=R,G,B<=127)
예를 들어, 3 3 3 은 각 색에 대해서 0 ~ 2 단계까지 3 가지 세기로 각각의 빛을 만들어 낼 수 있음을 의미한다.
출력 설명
RGB 색을 섞어 만들 수 있는 모든 R G B 정보를 줄을 바꿔 오름차순으로 모두 출력하고,
마지막에 총 가짓수를 출력한다.
(오름차순이란? 1층 위에 2층, 2층 위에 3층.. 처럼 올라가는 순서.. 123, abc, 가나다, ... )
마지막에 총 가짓수를 출력한다.
(오름차순이란? 1층 위에 2층, 2층 위에 3층.. 처럼 올라가는 순서.. 123, abc, 가나다, ... )
입력 예시 Copy
2 2 2
출력 예시 Copy
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
8
도움
기초100제(c)1 v1.5 : 정보교사 커뮤니티 @컴퓨터과학사랑(CSL)
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.