카테고리 없음
[백준] 2753번 윤년 [C++]
기술1
2024. 3. 6. 16:50
첫번째 풀이(틀림)
#include <iostream>
int main()
{
using namespace std;
int year = 0;
cin >> year;
if ((((year / 4) == 0) && (year / 100 != 0)) || ((year / 400) == 0))
cout << "1" << endl;
else
cout << "0" << endl;
return 0;
}
and 와 or을 if문을 통해 풀려고 했습니다. 하지만 계속해서 틀렸다고 나옵니다.
두번째 풀이
#include <iostream>
int main()
{
using namespace std;
int year = 0;
cin >> year;
if ((((year % 4) == 0) && (year % 100 != 0)) || ((year % 400) == 0))
cout << "1" << endl;
else
cout << "0" << endl;
return 0;
}
너무 간단한 실수라서 블로그에 적기도 부끄러울 정도였는데요. "/" 이것은 나머지를 구하는 연산자가 아닌 몫을 구하는 연산자이기 때문에 만약 윤년이 2012라고하면 2012 / 4 를 하면 0이 나오는 것이 아닌 다른 숫자가 나오게 됩니다.
나머지를 구할 때는 %를 써줘야 합니다.
이것만 바꿔주니 정답이 되었습니다.