Jujukan Fibonacci terhad
P粉463811100
P粉463811100 2023-08-16 19:46:31
0
1
377

Saya mahu melaksanakan fungsi yang menjana jujukan Fibonacci daripada N kepada N+K kod> elemen, yang mana (0<=N<=370; 0<=N+K<=371; 0<=K<=255). Apabila input ialah n:370, k:1, percubaan terakhir, n2, adalah di luar keperluan dan skop. Saya mahu memudahkan kod saya dan tidak menggunakan berbilang if terima kasih.

Kemas kini:

Ini adalah kontrak pintar untuk blockchain di mana int Ia adalah 256 bit . Apabila N+K >= 369, gelung terakhir n2

fungsi getFibSeq(n, k) { biarkan nombor = []; biarkan n1 = 0; biarkan n2 = 1; biarkan i = 0; biarkan j = (n + k); manakala (i < j){ jika((i - n) >= 0){ output.push(n1); } if((j - i - 1) > 0){ biarkan suhu = n1; n1 = n2; if((j - i - 2) > 0) { n2 = temp + n2; } } i = i + 1; } pulangan keluaran; }  


P粉463811100
P粉463811100

membalas semua (1)
P粉098979048

Terdapat formula tertutup untuk mengira nombor Fibonacci ke-1, dikenali sebagai formula Binet. Ini membolehkan anda mendapatkan nombor ke-n dalam kerumitan masa asimptotikO(1).

Berikut ialah contoh yang menunjukkan cara mengira nombor Fibonacci untuk mana-manan.

Lanjutkan ini untuk menyelesaikan masalah khusus anda. Saya cadangkan mengira nilain-1dann-1n. Kemudian ulang k kali untuk mendapatkan nilai yang dikehendaki. Jejaki keputusan semasa anda berulang dan anda sepatutnya baik-baik saja.

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

Nota:Walaupun formula ini memberikan hasil yang tepat untuk nilainyang lebih kecil, ketepatan mungkin hilang untuk nilai yang lebih besar disebabkan oleh pengehadan operasi titik terapung dalam JavaScript.

    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!