C로 구현한 1476번 날짜 계산 문제 풀이입니다.
https://www.acmicpc.net/problem/1476
#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로 초기화 시켜준다.
이러한 과정을 반복한 뒤 반복문을 빠져나오면 최종적인 결과를 출력한다.
'백준(C언어) 풀이 > 수학' 카테고리의 다른 글
백준(C) 13458번 시험 감독 풀이 (0) | 2021.09.24 |
---|---|
백준(C) 2455번 지능형 기차 풀이 (0) | 2021.09.24 |
백준(C) 3053번 택시 기하학 풀이 (0) | 2021.09.23 |
백준(C) 3046번 R2 풀이 (0) | 2021.09.23 |
백준(C) 2163번 초콜릿 자르기 풀이 (0) | 2021.09.23 |