Даны три целых числа a , b и N, где a и b — первые два члена ряда XOR Фибоначчи, и задача состоит в том, чтобы найти N- й член.
N-й член ряда XOR Фибоначчи определяется как F (N) = F (N — 1) ^ F (N — 2), где ^ — побитовое XOR.
Примеры:
Input: a = 1, b = 2, N = 5
Output: 3
F(0) = 1
F(1) = 2
F(2) = 1 ^ 2 = 3
F(3) = 2 ^ 3 = 1
F(4) = 1 ^ 3 = 2
F(5) = 1 ^ 2 = 3Input: a = 5, b = 11, N = 1000001
Output: 14
Подход: так как, a ^ a = 0, и дано, что
F(0) = a and F(1) = b
Now, F(2) = F(0) ^ F(1) = a ^ b
And, F(3) = F(1) ^ F(2) = b ^ (a ^ b) = a
F(4) = a ^ b ^ a = b
F(5) = a ^ b
F(6) = a
F(7) = b
F(8) = a ^ b
…
Можно заметить, что ответ повторяется после каждых 3 цифр. Таким образом, ответ F (N% 3), где F (0) = a, F (1) = b и F (2) = a ^ b .
Ниже приведена реализация вышеуказанного подхода:
|
Джава
|
python3
|
C #
|
Выход:
2
Сложность времени: O (1)
Рекомендуемые посты:
- Проверьте, делит ли M-ое число Фибоначчи на N-ое число Фибоначчи
- Количество способов представить число в виде суммы k чисел Фибоначчи
- Нахождение количества цифр в n-м числе Фибоначчи
- Четвёртое четное число Фибоначчи
- Число Фибоначчи в массиве
- Найти следующее число Фибоначчи
- N-е число Фибоначчи с использованием уравнения Пелла
- Найти предыдущее число Фибоначчи
- n-е кратное число в серии Фибоначчи
- Программа для нахождения N-го нечетного числа Фибоначчи
- Программа Python для n-го числа Фибоначчи
- Подсчитать узлы, сумма которых с X является числом Фибоначчи
- Как проверить, является ли данное число числом Фибоначчи?
- Найти n-е число Фибоначчи, используя Золотое сечение
- Программа на C / C ++ для n-го кратного числа в рядах Фибоначчи
0.00 (0%) 0 votes