10 lipca 2021

Szukanie bardzo dużych dzielników, propozycje

 Już zmieniono tu grafikę na taką, w której trudniej mi się znaleźć. Tylko jeszcze czekam tu na blokadę logowania się. Mam to już na kontach w Linkedin oraz na nowo otwartej skrzynce pocztowej. Stara jest technicznie blokowana, a na nową nie mogę się zalogować z racji nieoczekiwanego błędu.

Zamierzam tu podsumować swoje jeszcze nie przetestowane do końca spostrzeżenia. Nie wiadomo, jak dalej potoczy się moje narastające wykluczenie... 


Przypomnę:

Cyfrą jest nieujemna liczba ograniczona z góry przez podstawę systemu. Zatem, dla systemów o podstawach rzędu milionów, cyframi stają się liczby nawet rzędu tysięcy w systemie dziesiątkowym. Dalej używam pojęć  np. 'cyfra setek' dla wskazania pozycji cyfry w liczbie. 


Dla odpowiednio dużej podstawy systemu p, każdą odpowiednio dużą liczbę można zapisać jako trójcyfrową [a, b, c]_p. I o takich będę dalej pisać.

Jeśli liczba n = p*q, p<q, to można zapisać liczbę q w systemie o podstawie p dla pewnych danych parametrów  a, b:

q = [a, b]_p

oraz n = p*q = [a, b, 0]_p .

Zobaczmy, co się stanie z tą wartością, gdy zmienimy podstawę systemu o 1, czyli zamiast p zastosujemy podstawy systemów: p-1, p+1, bez zmiany wartości liczby n (co sztucznie powiększone, odejmiemy itp.): 

[a, b+2a, a+b+0] _ {p-1}

[a, b-2a, a-b+0] _ {p+1}

Przywracając cyfrę jedności c=0, uzyskujemy warunki dla podstaw systemów sąsiadujących z systemem o podstawie dzielnika: w jednym suma cyfr jest równa podstawie systemu (por. cecha podzielności przez 9), w drugim naprzemienna suma cyfr jest równa 0 (por. cecha podzielności przez 11). 

Właściwie powinienem pisać, że dostaję całkowite wielokrotności podstawy, ale dla liczb nieparzystych n o bardzo dużych podstawach mamy redukcję do tych warunków. A dodatkowo, funkcja sumy cyfr liczby trójcyfrowej w kolejnych systemach liczbowych jest funkcją przedziałami monotoniczną. Rozmiar 'ząbków' rośnie wraz ze wzrostem wartości. Aż się narzuca algorytm wyżarzania lub bisekcji dla szukania wartości podstaw okalających dzielnik.


Kolejnym podejściem, wykładniczym względem krotności cyfr zapisu binarnego liczby, jest stosowanie tych cech, gdy liczbę zapiszemy najpierw jako iloczyn 

n = 4*d+2*e+1 , 

e jest cyfrą dziesiątek liczby n w systemie binarnym, całe wyrażenie jest wielomianem (d jest za duże by być cyfrą w binarnym), oraz traktując jako liczbę trójcyfrową mamy dwie rekursywne gałęzie, w pierwszej podwajamy podstawę systemu, w drugiej przechodzimy na system o 1 większy i też podwajamy podstawę. Póki mamy odpowiednio duże 'cyfry setek', sprawdzamy sumę i naprzemienną sumę współczynników, jak wyżej. 

Czyli rekursja przebiega: 2 -> (4 -> 8 -> ...  4+1=5 -> ...) 2+1=3 -> ...