🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
ProgerLib Python pour tous
Le grand mathématicien Léonard de Pise, connu sous le pseudonyme de Fibonacci, nous a laissé la célèbre suite numérique. Chacun de ses éléments, à partir du troisième, est la somme des deux précédents.
La suite de Fibonacci est définie comme suit :
Φ₀ = 0
Φ₁ = 1
Φₙ = Φₙ₋₁ + Φₙ₋₂ pour n > 1
Le début de la suite ressemble à ceci : 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
On vous donne un nombre naturel A. Votre tâche — déterminer si ce nombre fait partie de la suite de Fibonacci. Si oui, affichez son numéro de série N (indice), tel que Φₙ = A. Si le nombre 1 apparaît dans la suite, considérez que son indice est 1. Si le nombre A n'est pas un nombre de Fibonacci, affichez -1.
Le nombre est introduit par un entier non négatif a (0 ≤ a ≤ 10¹⁸).
Saisissez un nombre entier : le numéro de série N pour lequel & Phi; n = A. Si un tel nombre n'existe pas, affichez -1.
55
10
# Получаем на вход число A
a = int(input())
# Обрабатываем частный случай для 0
if a == 0:
print(0)
else:
# Инициализируем первые два члена последовательности и их индекс n.
# f0 соответствует φ(n-1), f1 соответствует φ(n)
f0, f1 = 0, 1
n = 1
# Используем цикл while для генерации чисел Фибоначчи,
# пока текущее число f1 меньше искомого числа a.
while f1 < a:
# Это "магия" Python для параллельного присваивания.
# Новое значение f0 становится старым f1,
# а новое f1 становится суммой старых f0 и f1.
# Это эквивалентно:
# temp = f1
# f1 = f0 + f1
# f0 = temp
f0, f1 = f1, f0 + f1
n += 1
# После выхода из цикла проверяем, почему он завершился.
# Если f1 равно a, значит, мы нашли число.
if f1 == a:
print(n)
# Если f1 стало больше a, значит, мы "проскочили" искомое число,
# и его нет в последовательности.
else:
print(-1)
🎉 Félicitations ! 🎉
Tu as brillamment résolu la tâche ! C était difficile, mais tu as trouvé la bonne solution. Tu es encore plus proche de maîtriser la programmation ! Continue ainsi.
AD
Publicité
Exécution de votre code...