Python(알고리즘,문제풀이)/BOJ (Bronze IV)
백준 27890번 / 특별히 작은 분수 - 파이썬(XOR 연산)
박혀노
2023. 10. 24. 22:27
728x90
📚문제
📝풀이
# 27890 특별한 작은 분수
x, N = map(int,input().split())
for i in range(N):
if x % 2 ==0:
x = int(x/2)^6
else:
x = (2*x)^6
print(x)
코드는 그렇게 어렵지 않은데
⊕기호가 비트 XOR 연산하는 기호라는 것을 알고 있으면 된다
(밑에 노트에 나옴)
파이썬에서는 비트 XOR 연산 기호가 (^)이다
비트 XOR연산에 대해 간단하게 설명하면
" 2개의 피연산값의 비트(2진수)값이 같으면 0을 출력, 다르면 1을 출력 "
100111001011010100111010 XOR 010110100001101111011000
= 110001101010111011100010
# 출처 : https://ko.khanacademy.org/computing/computer-science/cryptography/ciphers/a/xor-bitwise-operation
파이썬에서 ^ 기호를 사용해주면 아래와 같은 과정을 거쳐 값을 반환해준다
1) 피연산값 2가지를 십진수 -> 이진수 변환후에
2) XOR연산하여 나온 이진수 값을
3) 다시 십진수로 변환
728x90