23 maja 2025

Skoki po liczbach gładkich

 Liczby p-gładkie to takie liczby złożone, których wszystkie dzielniki nie są większe od wartości p.

Tak liczbami 3-gładkimi są wszystkie potęgi 2, 3, 6, ... Te wszyystkie, których jedynymi dzielnikami są 2 oraz 3. 

Dopasowałem wzór, dzięki któremu mogę przeskakiwać między podobnymi do siebie liczbami gładkimi (co tu oznacza, że różnią się zaledwie paroma dzielnikami, pozostałe są takie same).

Wzór jest niezmiennikiem wartości będącej różnicą:
a*(c+d) - b*d = a*c - (b-a)*d . 

Dodaję do składników jakąś liczbę całkowitą dobraną tak, by któryś z dzielników przekształcił się na inny. Najciekawszy efekt występuje wtedy, gdy liczby są p-gładkie dla p osiąga wartość pierwiastka czwartego stopnia z wartości różnicy we wzorze lub nieco większe. 

Liczbę rozdzielam na iloczyn dwu liczb złozonych A*B. Sprawdzam reszty z dzielenia każdej przez nowy dzielnik, który chcę wprowadzić. Wtedy podmieniam ten czynnik nowo znalezioną liczbą złożoną, co wiąże się z przesunięciem do najbliższej liczby odpowiedniej gładkości, przy okazji wyznaczajac jej odległość od wspomnianej stałej wartości. 

Np. utworzyłem sobie ciąg takich liczb gładkich: 

(3*5*5*17)*(19*371), a ponieważ 19*371 = 7049 = 7061-12, oraz 7061 = 23*307, odległa o 12*(3*5*5*17) = 12*1275,

(3*5*5*17)*(23*307), teraz chcę mieć dzielnik 31 zamiast 23, dodaję 10*1275 = 12750 otrzymując 

(3*5*5*17)*(31*227), dla dzielnika 37 od tego odejmę 30*1275 = 38250 i mam 

(3*5*5*17)*(37*191), 

na razie reszty przeliczam dla drugiego z czynników (19*371), widać, że schodzą coraz blizej pełnego kwadratu: 

(3*5*5*17)*(73*97),
(3*5*5*17)*(79*89),
(3*5*5*17)*(5*17*83),
(3*5*5*17)*(79*89),

Od tego momentu trzymając się tego czynnika następuje powtarzanie się wartości, bo wykres funkcji f(x,y) xy=const jako hiperbola jest symetryczny względem prostej y=x. 

Nie jestem ograniczony do drugiego czynnika, oto kolejne liczby gładkie, które wyznaczałem przesuwając o parzystą wartość - chciałem mieć nieparzyste liczby p-gładkie: 

(13*101)*(3*23*103)
(13*101)*(67*107)
(13*101)*(3*3*7*113)
(11*127)*(3*3*7*113)

Odległości między tak wyznaczanymi liczbami gładkimi są ogromne, sięgają milionów przy wartości rzędu 10 milionów, gdyż liczby p-gładkie nie są zbyt częste. Jednak zdumiewa mnie łatwość, z jaką licząc tyko resztę z dzielenia przez fragment liczby znajduję dystans do najbliższej wielokrotnosci kolejnej chcianej przeze mnie wartości. 

Mogę też pokusić się o mocniejsze wygładzanie. 


Liczby gładkie służą do wyznaczania wzorców dla rozkładu sitem kwadratowym. Im więcej znanych liczb gładkich, tym więcej związków między nimi, i łatwiej znależć takie same reszty modulo N, co prowadzi do wykrycia dzielnika liczby N. Jednak wg mnie liczby p-gładkie z większym p są bardziej interesujace.
Jeśli chcieć rozkładu, gdy w uzyskanej różnicy odległość od wartości jest wielokrotnością jakiegoś dzielnika liczby gładkiej, to jest to zarazem dzielnik stałej wartości:
N = ABq - rq = (AB-r)q.


03 maja 2025

System Fibonacciego i jego związki z symbolami Newtona

 Symbole Newtona ułożone w trójkącie Pascala uzyskuje się wstawiając 1 na skrajne pozycje, zaś pozostałe są sumą dwu poziom wcześniej. Ta sama formuła niejawnie występuje przy rozpisywaniu liczby w systemie Fibonacciego. 

Klasycznie wybieramy jakąś maksymalnie dużą liczbę Fibonacciego i odejmujemy zamieniając 0 na 1 na pozycji tej liczby. Kiedyś tutaj opisałem przekształcenia, które 'płaszczą' liczbę wciśniętą na pozycję cyfry systemu Fibonacciego. Przypomnę te przekształcenia dla fragmentów [] zapisów systemu Fibonacciego: 

[0 0 3 0 0] na [1 0 0 0 1]
[0 0 4 0 0] na [1 0 1 0 1]

Kiedy zamiast wartości 3 lub 4 wciskamy potęgi tychże, możemy zastosować 'spłaszczanie' iteracyjnie, uzyskując w kolejnych krokach współczynniki symboli Newtona, np dla 3^2: 

[0 0 0 0 3^2 0 0 0 0] =
[0 0 3 0    0   0 3 0 0] =
[1 0 0 0    2   0 0 0 1]   druga potęga, rozdzielane współczynniki (1+1)^2

Zachowanie potęg 4 tak nie chce,  ale i tak dla 4^2 mozemy wymusić wystąpienie współczynników Newtona (1+1)^3:

[0 0 0 0 4^2 0 0 0 0] =
[0 0 4 0    4   0 4 0 0] =
[1 0 2 0    3   0 2 0 1] =
[1 0 3 0    0   0 3 0 1]     i co, nie da się?


Nie jest to jedyny związek. Niedawno odkryłem kolejny. 

Jeśli w kolejne 'cyfry' systemu Fibonacciego wciskamy kolejne wartości współczynników Nertona binom(n, k) dla kolejnych k od 0 do n, do uzyskanego wielomianu dopuścimy przeniesienia 'naprawiające', gdyż w klasycznym systemie Fibonacciego cyfry mają tylko dwie wartości: 0 oraz 1. W wyniku uzyskamy -- wartość Fibonacciego! Np. dla binom(4, k) mamy:

[0 0 0 0   1 4 6 4 1] =
[1 0 0 0   0 0 0 0 0]


Wśród zabaw z liczbami pamiętam o następującej cesze podzielności:
liczba jest podzielna przez k, gdy każda z wartości na pozycji cyfr jest całkowitą wielokrotnością k. 

Okazuje się, że skoro sąsiednie wartosci F[m]=p, F[m+1]=q w systemie Fibonacciego są względnie pierwsze, zaś liczbę N można przedstawić (na wiele sposobów) jako kombinację liniową tych dwu wartości N = xp+yq, to spoglądając na wspomnianą cechę dla wielu (zwłaszcza odpowiednio małych)  teoretycznie istnieją takie a, b całkowite, że dzielnik d|N spełnia własność,
N = adp + bdq = (ap+bq)*d
niezależnie od wyboru p, q. Przedstawienie nie jest jednoznaczne, bo każdy z dzielników ma wiele możliwości doboru a oraz b na przedstawienie siebie. 

Czasem własność ta przechodzi i na inne pary p, q, które niekoniecznie sąsiadują, ale lepiej, by były względnie pierwsze, aby mogły zaprezentować wartość dzielnika.