Séquence de Fibonacci restreinte
P粉463811100
P粉463811100 2023-08-16 19:46:31
0
1
409

Je souhaite implémenter une fonction qui génère la séquence de Fibonacci de N à N+K et renvoie array[K]< ;/ code>, dont (0<=N<=370; 0<=N+K<=371; 0<=K<=255). Lorsque l'entrée était n:370, k:1, la dernière tentative, n2, dépassait le besoin et la portée. Je souhaite simplifier mon code et ne pas utiliser plusieurs instructions if Merci.

Mise à jour :

Il s'agit d'un contrat intelligent pour la blockchain où int Lorsque N+K >= 369, la dernière boucle de n2

fonction getFibSeq(n, k) { soit les nombres = []; soit n1 = 0 ; soit n2 = 1 ; soit je = 0 ; soit j = (n + k); tandis que (i < j){ if((i - n) >= 0){ sortie.push(n1); } si((j - i - 1) > 0){ laissez temp = n1 ; n1 = n2 ; si ((j - i - 2) > 0) { n2 = température + n2 ; } } je = je + 1 ; } renvoyer la sortie ; } ≪/pré> 


P粉463811100
P粉463811100

répondre à tous (1)
P粉098979048

Il existe une formule fermée pour calculer le nième nombre de Fibonacci, connue sous le nom de formule Binet. Cela vous permet d'obtenir le nième nombre dans la complexité temporelle asymptotique deO(1).

Voici un exemple montrant comment calculer le nombre de Fibonacci pour n'importe queln.

Étendez ceci pour résoudre votre problème spécifique. Je suggère de calculer les valeurs den-1etn-1n. Ensuite, répétez k fois pour obtenir la valeur souhaitée. Gardez une trace des résultats au fur et à mesure que vous itérez et tout devrait bien se passer.

function fibonacci(n) { const phi = (1 + Math.sqrt(5)) / 2; const psi = (1 - Math.sqrt(5)) / 2; // phi的负倒数 return Math.round((Math.pow(phi, n) - Math.pow(psi, n)) / Math.sqrt(5)); } // 测试 console.log(fibonacci(10)); // 输出:55

Remarque :Bien que cette formule donne des résultats précis pour des valeursnplus petites, la précision peut être perdue pour des valeurs plus grandes en raison des limitations des opérations à virgule flottante en JavaScript.

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!