Beginner Free Contest 55 - FIBOXOR
Xem dạng PDF
SUBMIT SOLUTION
ID:
fcb055_fiboxor
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Output Only, Pascal, PyPy, Python, Scratch, TEXT
Sau buổi học môn toán ở trường, anh được biết đến dãy số Fibonacci. Nếu gọi ~f(x)~ là hàm số trả về số Fibonacci thứ ~x^{\text{th}}~, thì hàm số được xây dựng như sau:
$$ \begin{cases} f(0) = 1 \\ f(1) = 1 \\ f(n) = f(n - 1) + f(n - 2) & , n > 1 \end{cases} $$
Cảm thấy dãy số rất thú vị, anh muốn thay đổi dãy số một chút. Anh muốn thay vì sử dụng phép toán cộng sẽ xử dụng phép toán ~\text{xor}~. Cụ thể, anh sẽ chọn ra hai số nguyên dương ~a~ và ~b~ để xây dựng một dãy Fibonacci riêng của mình như sau:
$$ \begin{cases} f(0) = a \\ f(1) = b \\ f(n) = f(n - 1) \oplus f(n - 2) & , n > 1 \end{cases} $$
Anh nghĩ, với một số nguyên dương ~n~ bất kỳ, anh có thể biết kết quả chính xác của ~f(n)~ là bao nhiêu hay không?
Input Specification
- Bộ ba số nguyên ~a~, ~b~ và ~n~ ~(1 \le a, b, n \le 10^9)~.
Output Specification
- Giá trị ~f(n)~ theo hàm mà anh thay đổi.
Sample Cases
Input #1:
1 2 2
Output #1:
3
Input #2:
325 265 1231232
Output #2:
76
Input #3:
4 5 1
Output #3:
5
Bình luận