Dziwny ciąg

https://xpil.eu/h6d

Natknąłem się niedawno na całkiem interesujące zjawisko matematyczne, które dziś pokrótce opiszę.

Jak wszyscy wiedzą[citation needed], iloraz dwóch kolejnych wyrazów ciągu Fibonacciego...

Fibonacci oraz jego ciąg są stałymi gośćmi tego blogu 😉

...dąży do \(\phi\) (wymawiamy: Fi). Czym dalej w las, tym bliżej \(\phi\), jak mówi stare przysłowie. \(\phi\) to w przybliżeniu 1.618033989 (a bez przybliżania: trzeba wziąć piątkę, wyciągnąć z niej pierwiastek, do wyniku dodać jedynkę, a to co wyjdzie podzielić przez dwa).

\(\phi = \frac{1 + \sqrt{5}}{2}\)

Wiedzą nieco mniej powszechną, acz niezbyt zaskakującą, jest to, że własność tę ma nie tylko ciąg Fibonacciego, ale każdy inny ciąg zbudowany na zasadzie ciągu Fibonacciego. A więc zamiast od dwóch jedynek, możemy wystartować od dwóch dowolnych liczb rzeczywistych, następnie skonstruować ciąg w którym każdy element jest sumą dwóch poprzednich i okaże się, że iloraz sąsiednich elementów takiego ciągu również będzie dążył do \(\phi\).

 

Natomiast kompletnym zaskoczeniem dla mnie było następujące odkrycie: jeżeli weźmiemy ciąg zaczynający się od dwójki z jedynką, a następnie zbudujemy pozostałe jego wyrazy na tej samej zasadzie, co ciąg Fibonacciego, wówczas elementy tego ciągu będą odpowiadać zaokrągleniom kolejnych potęg liczby \(\phi\).

Yyyy, ale że co?

Jeszcze raz, powoli:

Bierzemy ciąg "fibonacciopodobny" zaczynający się od 2, 1:

2, 1, 3, 4, 7, 11, 18, 29, 47, 76, 123, 199, 322, 521, 843, 1364, 2207, 3571, 5778, 9349 i tak dalej

Niezależnie od tego, bierzemy liczbę \(\phi\) i podnosimy ją do kolejnych potęg całkowitych, każdorazowo wynik potęgowania zaokrąglając do pełnych jedności (w górę lub w dół, zależy co jest bliżej): \(\phi, \phi^2, \phi^3, \phi^4, ...\)

Najpierw same potęgi, bez zaokrągleń:

1.61803398874989484820458683436, 2.61803398874989484820458683435, 4.23606797749978969640917366869, 6.85410196624968454461376050300, 11.0901699437494742410229341716, 17.9442719099991587856366946745, 29.0344418537486330266596288460, 46.9787137637477918122963235204, 76.0131556174964248389559523660, 122.991869381244216651252275886, 199.005024998740641490208228251, 321.996894379984858141460504135, 521.001919378725499631668732384, 842.998813758710357773129236515, 1364.00073313743585740479796889, 2206.99954689614621517792720540, 3571.00028003358207258272517427, 5777.99982692972828776065237964, 9349.00010696331036034337755386 i tak dalej...

Teraz zaokrąglamy powyższe wartości do najbliższej całości:

2, 3, 4, 7, 11, 18, 29, 47, 76, 123, 199, 322, 521, 843, 1364, 2207, 3571, 5778, 9349, ...

Jak widać uzyskane elementy, począwszy od trójki, pokrywają się z wartościami ciągu zaczynającego się od 2, 1. Teoria mówi, że własność ta ciągnie się aż do nieskończoności. Jako niedowiarek napisałem sobie małą pchełkę w Pythonie (może nawet ją tu kiedyś wrzucę), która sprawdziła mi pierwszych dziesięć tysięcy elementów - cholera, zgadza się!

A tak przy okazji, dziesięciotysięczny element to:

46 495 921 515 730 068 461 130 575 021 572 249 795 517 260 827 344 224 693 446 594 082 831 661 460 877 638 087 383 734 992 962 241 535 572 373 322 064 482 160 736 844 786 700 479 563 349 947 974 746 210 125 736 477 298 990 773 419 426 730 012 768 176 443 335 334 885 434 532 367 340 129 746 932 532 807 386 095 926 488 625 519 456 010 120 354 202 062 325 796 290 260 232 208 335 385 434 934 715 431 179 911 107 861 162 630 850 746 776 549 646 049 827 287 797 744 226 996 730 624 608 314 316 511 911 892 456 834 859 635 829 430 774 780 878 530 913 021 611 486 805 297 279 060 883 702 119 891 085 321 010 423 616 703 022 526 793 037 337 314 131 218 173 405 482 493 288 672 891 130 563 022 630 130 987 110 177 786 904 524 513 285 649 313 187 434 191 820 972 916 341 913 149 261 408 833 012 657 630 676 009 353 899 935 185 769 981 013 842 854 925 958 376 775 823 769 936 946 047 158 909 951 079 710 845 325 961 245 394 390 218 067 617 217 918 753 793 333 309 997 613 661 409 653 545 520 954 594 239 231 214 681 334 280 128 565 872 765 749 125 834 591 909 466 145 608 040 232 026 234 011 855 403 409 888 428 348 101 212 418 033 082 924 869 505 219 704 665 550 699 017 432 086 361 236 508 782 767 960 358 090 803 511 663 373 811 721 094 880 942 283 745 344 983 360 052 510 980 905 512 388 709 026 310 993 506 137 799 330 798 322 433 488 250 011 252 033 074 497 782 456 141 486 472 068 868 880 261 140 441 432 031 333 177 746 820 718 092 890 839 453 452 800 840 623 625 108 626 120 254 632 880 109 397 078 168 577 004 810 015 234 496 825 156 831 576 851 194 346 624 009 689 965 964 995 777 502 223 923 400 884 469 519 640 910 275 888 143 199 792 980 087 234 344 678 973 256 406 253 983 148 882 367 363 259 825 718 651 976 798 367 114 465 161 597 818 476 542 505 872 321 113 647 580 314 982 618 993 039 794 290 224 442 837 276 165 520 870 073 407 448 008 302 763 826 031 147 384 258 173 037 580 716 868 320 148 173 107 098 118 126 590 529 186 439 681 554 667 199 489 939 275 657 429 752 708 091 539 892 386 419 782 587 878 342 832 301 556 132 058 160 699 101 674 543 137 707 982 105 464 742 690 606 693 356 960 512 763 100 543 744 135 572 049 993 935 225 886 690 943 795 127 154 759 383 704 552 207 993 560 372 392 444 370 827 266 072 694 356 867 409 625 463 285 094 930 886 108 678 326 575 801 391 384 345 303 264 764 610 578 661 290 356 884 288 933 258 490 276 961 801 462 496 123 096 137 413 829 557 014 693 699 840 176 018 786 191 098 157 351 666 433 909 920 405 591 334 917 794 122 113 543 911 756 886 321 525 533 831 559 746 482 837 889 452 162 853 361 309 843 323 551 766 433 386 823 204 749 453 236 624 726 535 154 376 844 888 347 326 168 172 304 919 805 763 857 353 313 184 530 514 657 077 863 281 622 548 063 618 434 784 359 844 067 311 950 522 433 445 815 837 543 083 468 656 503 124

https://xpil.eu/h6d

5 komentarzy

    1. Nie będę tu wklejał całej liczby, bo i po co – ale zdradzę, że zaczyna się od “121 727 902 866” oraz kończy się na “466 831 080 331 251” a także, że ma 2091 cyfr.

      Jeżeli mocno zależy Ci na dokładnej wartości, oto kod w Pythonie:

      from decimal import *
      
      getcontext().prec = 10002
      phi = (Decimal(1) + (Decimal(5) ** Decimal(0.5))) / Decimal(2)
      print(round(phi ** Decimal(10001)))
      1. Ach, Lilavati. Piękna książka. Układy polityczne się zmieniają, ludzie się rodzą i umierają, giną dinozaury, tworzą się galaktyki, a dwa plus dwa zawsze będzie cztery 🙂

Leave a Comment

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]

Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.