Kezdőoldal » Tudományok » Természettudományok » Az 73318332000987272. Fibonacc...

Az 73318332000987272. Fibonacci szám tényleg "123456789"-cel kezdődik és végződik?

Figyelt kérdés

Tehát F(73318332000987272) = 123456789......123456789 ?

Persze sok-sok számjegy van közte.



2015. ápr. 28. 00:50
1 2
 11/15 anonim ***** válasza:

Alapötlet javítva, hogy keressünk egy gyorsabb algoritmust Google-lel:

[link]

Mivel itt is lehet minden műveletet moduló 10^9 csinálni, ezért szerintem ezzel meglesz.

2015. ápr. 28. 18:43
Hasznos számodra ez a válasz?
 12/15 A kérdező kommentje:

Igen, ez jó, köszi!

Megcsináltam pythonban:

fi=[0,1,1,2,3,5,8,13,21,34,55,89]

def fibo(n,m): # F(n) mod m

if n<12: return fi[n]%m

s=bin(n)

s=s[2:]

h=len(s)

k=n>>(h-3)

k0=fi[k-1]%m

k1=fi[k]%m

for i in range(3,len(s)):

k0,k1 = (k0**2+k1**2)%m, ((k0*2+k1)*k1)%m

if s[i]=='1': k0,k1 = k1,(k1+k0)%m

return k1


fibo(73318332000987272,10**18)

232975576123456789

(A mp töredéke alatt kiszámolta)

2015. ápr. 28. 19:54
 13/15 anonim ***** válasza:
100%

Akkor lemaradtam… Gyakrabban kéne programoznom. Meg nem kellett volna leülnöm közben a TV elé…


Az én megvalósításom C-ben:


#include <stdio.h>

#define MOD 1000000000

#define LOG 64

#define SZAM 73318332000987272


typedef struct {

int a;

int b;

int c;

} matrix;


matrix szor(matrix x, matrix y)

{

long long a, b, c;

matrix z;


z.a = ((long long)x.a*(long long)y.a + (long long)x.b*(long long)y.b)%MOD;

z.b = ((long long)x.a*(long long)y.b + (long long)x.b*(long long)y.c)%MOD;

z.c = ((long long)x.b*(long long)y.b + (long long)x.c*(long long)y.c)%MOD;


return z;

}


matrix hatvany(matrix x, long long n)

{

matrix a[LOG], h;

int i;


a[0] = x;

for(i=0;i<LOG-1;i++) a[i+1] = szor(a[i], a[i]);


h.a = 1; h.c = 1; h.b = 0;

i = 0;

while(n)

{if(n%2) h = szor(h, a[i]);

n /= 2; i++;}


return h;

}


int main()

{

long long n=SZAM;

matrix e, k;


e.a = 1; e.b = 1; e.c = 0;

k = hatvany(e, n);

printf("%d\n%d\n%d\n",k.a,k.b,k.c);


return 0;

}


Az OUTPUT:


871709218

123456789

748252429


Process returned 0 (0x0) execution time : 0.024 s

Press any key to continue.


A második szám az Fn mod 10^9.

2015. ápr. 28. 20:27
Hasznos számodra ez a válasz?
 14/15 A kérdező kommentje:

Köszi!

Na ugye? (Hitetlenkedőknek.) :D

Még pár furcsa Fibonacci szám:

F(609915142373778322)= 111 111 111 ...... 111 111 111

F(17229997747499999998)= 999 999 999 ...... 999 999 999

F(6761232252640178)= 3141592653589793...... (pi kezdetű)

2015. ápr. 29. 15:13
 15/15 A kérdező kommentje:
F(794272259463854478)= 100 000 000 000 000 000......
2015. ápr. 29. 15:23
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!