Python
 Computer >> コンピューター >  >> プログラミング >> Python

与えられた数をチェックするプログラムはPythonのフィボナッチ用語です


nという数があるとします。 nがフィボナッチ数列に存在するかどうかを確認する必要があります。フィボナッチ数列でわかっているように、2からnまでの各iについてf(i)=f(i-1)+ f(i-2)、f(0)=0、f(1)=1です。

>

したがって、入力がn =13の場合、出力はTrueになります。これは、フィボナッチ数列のいくつかの項が0、1、1、2、3、5、8、13、21、34であるため、34が存在するためです。 。

これを解決するには、次の手順に従います-

  • phi:=0.5 + 0.5 *(5.0)の平方根
  • a:=phi * n
  • nが0と同じか、aが整数の場合、trueを返します

理解を深めるために、次の実装を見てみましょう-

from math import sqrt
def solve(n):
   phi = 0.5 + 0.5 * 5.0**0.5
   a = phi * n
   return n == 0 or abs(round(a) - a) < 1.0 / n

n = 13
print(solve(n))

入力

13

出力

True

  1. n番目のフィボナッチ数のPythonプログラム

    この記事では、n番目のフィボナッチ数を計算します。 フィボナッチ数 以下に示す漸化式によって定義されます- Fn = Fn-1 + Fn-2 あり F 0 =0およびF1 =1。 まず、フィボナッチ数はほとんどありません 0,1,1,2,3,5,8,13,.................. フィボナッチ数を計算できます 再帰と動的計画法の方法を使用します。 それでは、Pythonスクリプトの形式での実装を見てみましょう アプローチ1:再帰方法​​ 例 #recursive approach def Fibonacci(n):    if n<0: &

  2. 与えられた数がフィボナッチ数であるかどうかをチェックする方法のためのPythonプログラム?

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 数nが与えられたら、nがフィボナッチ数であるかどうかを確認します n番目のフィボナッチ数は前の2つのフィボナッチ数の合計であることは誰もが知っています。しかし、それらは漸化式以外の興味深い関係も提供します。 (5 * n2 + 4)または(5 * n2 – 4)が完全な正方形である場合に限り、数値は本質的にフィボナッチです。 このプロパティを使用して、数値がフィボナッチであるかどうかを確認します。 では、Pythonスクリプトの実装を見てみましょう- 例 import math # if x is p