백준(C언어) 풀이/수학

백준(C) 1476번 날짜 계산 풀이

개발윗미 2021. 9. 24. 16:45

C로 구현한 1476번 날짜 계산 문제 풀이입니다.

 

https://www.acmicpc.net/problem/1476

 

1476번: 날짜 계산

준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타

www.acmicpc.net


#include <stdio.h>

int main() {
	int e, s, m;
	scanf("%d %d %d", &e, &s, &m);
	int a = 1, b = 1, c = 1;
	int count=0;
	while(1) {
		count ++;
		if(e == a && s == b && m == c)
			break;
		a++;
		b++;
		c++;
		
		if(a == 16)
			a = 1;
		if(b == 29)
			b = 1;
		if(c == 20)
			c = 1;
	}
	printf("%d\n", count);
}

 

지구를 나타내는 수인 e는 1 <= e <= 15 의 범위를 갖고, 태양을 나타내는 수인 s는 1 <= s <= 28의 범위를 가지며

 

달을 나타내는 수인 m은 1 <= m <= 19 의 범위를 갖는다.

 

반복문을 통해 연도에 해당되는 변수 count를 1씩 증가시키고 조건문을 통해 입력받은 수와 프로그램에서 선언한 변수의

 

값이 각각 같을 경우 프로그램을 종료시키도록 한다.

 

그렇지 않을 경우 세 수를 각각 확인하여 해당 범위를 벗어나면 1로 초기화 시켜준다.

 

이러한 과정을 반복한 뒤 반복문을 빠져나오면 최종적인 결과를 출력한다.