728x90
반응형
문제 : https://codeup.kr/problem.php?id=1214
문제 설명
철수와 영희는 한 사람이 특정 월(month)을 지목하면 나머지 사람이 그 달의 마지막 날이 며칠인지 알아맞히는 게임을 하였다. 두 사람 모두 처음엔 서툴렀지만 게임을 계속하다 보니 금방 익숙해졌다. 그래서 게임의 규칙을 조금 어렵게 바꿔 연도와 월을 말하면 그 달의 마지막 날이 며칠인지 알아맞히기로 하였다.
이 규칙이 어려운 이유는 2월이 윤달이 있기 때문이다.
2월이 29일인 해를 윤년이라고 하는데, 윤년의 판단은 아래 두 조건 중 하나만 만족하면 된다.
- 조건 1 : 400의 배수인 해는 모두 윤년이다.
- 조건 2 : 4의 배수인 해들 중 100의 배수가 아닌 해들은 모두 윤년이다.
연도와 월을 알고 있을 때 그 달의 마지막 날을 구하는 프로그램을 작성하시오.
<참고> 월별 마지막 날
1월 |
2월 |
3월 |
4월 |
5월 |
6월 |
7월 |
8월 |
9월 |
10월 |
11월 |
12월 |
31 |
28/29 |
31 |
30 |
31 |
30 |
31 |
31 |
30 |
31 |
30 |
31 |
#include <stdio.h>
int main(){
int m,n;
scanf("%d %d",&m,&n);
if(m%4==0 && m%100!=0|| m%400==0) {
if(n==2){
printf("29");
}
else if(n%2==0){
printf("31");
}
else if(n%2!=0){
printf("30");
}
}
else
if(n==2){
printf("28");
}
else if(n==1){
printf("31");
}
else if(n%2==0){
printf("31");
}
else if(n%2!=0){
printf("30");
}
return 0;
}
728x90
반응형
최근댓글