728x90
다섯 손가락으로 숫자를 셀 때 N은 어떤 손가락으로 세게 될지 찾는 문제입니다.
순서는 [ 엄지 - 검지 - 중지 - 약지 - 새끼 - 약지 - 중지 - 검지 -엄지 - 검지 .... ] 입니다.
특징을 보면 엄지와 새끼손가락은 한 바퀴를 돌때 동안 1번만 거쳐가는 반면
나머지 손가락들은 2번 거쳐갑니다.
검지와 약지는 짝수만 올 수 있습니다.
x를 4로 나누었을 때
검지는 짝수가 나오고
약지는 홀수가 나옵니다.
엄지 중지 새끼손가락은 홀수만 올 수 있습니다.
x를 2로 나누었을 때 중지는 홀수만 올 수 있습니다.
다시 x를 2로 나누었을 때
엄지는 짝수가 나오고
새끼손가락은 홀수가 나옵니다.
이를 정리해보면
x가 짝수면 (검지, 약지)
x를 4로 나누었을 때
짝수면 (검지)
홀수면 (약지)
x가 홀수면 (엄지, 중지, 새끼)
x를 2로 나누었을 때
홀수면 (중지)
x를 2로 나누었을 때
짝수면 (엄지)
홀수면 (새끼)
가 나옵니다.
#include <iostream>
#include <algorithm>
using namespace std;
int main(int argc, char *argv[])
{
int x;
cin >> x;
if (x % 2 == 0){
x /= 4;
if(x % 2 == 0){
cout << "2" << endl;
}
else{
cout << "4" << endl;
}
}
else{
x /= 2;
if(x % 2 == 1){
cout << "3" << endl;
}
else{
x /= 2;
if(x % 2 == 1){
cout << "5" << endl;
}
else{
cout << "1" << endl;
}
}
}
return 0;
}
'알고리즘' 카테고리의 다른 글
[C++] 백준 10951번 A+B - 4 (0) | 2019.08.03 |
---|---|
[C++] 백준 10950번 A+B - 3 (0) | 2019.08.03 |
[C++] 백준 10818번 최소, 최대 (0) | 2019.08.03 |
[C++] 백준 10818번 최소, 최대 (0) | 2019.08.03 |
[C++] 백준 2588번 곱셈 (0) | 2019.08.03 |