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:
Beginner Free Contest 55
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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.