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
'Programming > 기타' 카테고리의 다른 글
[C] rand()를 이용한 로또 (1) | 2021.02.23 |
---|---|
[C] 난수를 이용한 무작위 숫자 출력 (0) | 2021.02.23 |
[C] 시작단과 종료단을 입력받는 구구단 (0) | 2021.02.23 |
[C] do~while문을 이용한 구구단 (0) | 2021.02.23 |
[C] while문을 이용한 구구단 (0) | 2021.02.23 |
댓글