본문 바로가기
Programming/기타

[C] 총 마리 수와 총 다리 수로 각각의 동물 마리 수 알아내기

by Bam_t 2021. 2. 23.
728x90

반복문과 조건문을 이용하여 동물의 마릿수를 알아내는 프로그램입니다.

이 포스트에서 문제의 조건은 고양이와 까마귀가 있고 둘이 합쳐서 총 35마리, 다리 수는 총 94개입니다.

 

#include <stdio.h>

void main() {
	for (int cats = 0; cats <= 35; cats++) {
		for (int crows = 0; crows <= 35-cats; crows++) {
			if ((cats * 4) + (crows * 2) == 94) {
				printf("고양이 : %d마리, 까마귀 : %d마리\n", cats, crows);
			}
		}
	}
}

 

사용한 방법으로는 모든 경우의 수를 세어보는 것입니다.

 

1. 총 35마리 이므로 고양이(까마귀가 먼저와도 상관없습니다!)가 0마리에서부터 35마리까지 있는 경우를 가정한 반복문을 줍니다.

for (int cats = 0; cats <= 35; cats++)

 

 

2. 이 반복문 내부에 까마귀가 0마리에서 (35-고양이 마리수)까지 반복하는 반복문을 줍니다. 이렇게 되면 모든 경우의 수를 가진 중첩 반복문이 생기게 됩니다.

for (int crows = 0; crows <= 35-cats; crows++)

 

3. 이때 중첩 반복문 내부에 고양이 다리수와 까마귀의 다리수를 더해서 94가 되는 조건문을 줌으로써 문제의 조건을 만족하게되는 경우만을 출력해주게 됩니다.

if ((cats * 4) + (crows * 2) == 94) {
		printf("고양이 : %d마리, 까마귀 : %d마리\n", cats, crows);
}

 

 

728x90

댓글