Beginner Free Contest 55 - FIBOXOR
Xem dạng PDF
Gửi bài giải
Điểm:
0,20 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
512M
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Lưu ý: các bạn không nhập, xuất dữ liệu bằng file kể cả khi đề bài có yêu cầu. Đọc, ghi dữ liệu được thực hiện ở stdin và stdout.
Bình luận
Ta phép
xorlà:^(cho dễ viết) như vậy:f0=a
f1=b
f2=f0^f1=a^b
f3=f2^f1=(a^b)^b=a^(b^b)=a^0=a
f4=f3^f2=a^(a^b)=(a^a)^b=b
f5=f4^f3=b^a
f6=f5^f4=(b^a)^b=a^(b^b)=a
f7=f6^f5=a^(b^a)=b
như vậy ta thấy các số a và b và a^b nó lặp theo 1 chu kì nhất định
f0,f3,f6,f9.....=a
f1,f4,f7,f10....=b
f2,f5,f8,f11....=a^b
Như vậy chỉ cần kiểm tra khi chia dư với 3 xem nó ở cái nào