Numerele în anul 2014 - Partea Ii (cu călătorie în trecut)

În anul 2012 am găsit un număr de 88 de cifre cu abundența 6.5 (sau 5.5, dând numărul însuși la o parte din suma divizorilor), care nu era pe lista de la Numericana.com. L-am pus separat în N.TXT, între numerele care nu fac parte din secțiunea de multi- și semiperfecte, ca număr găsit de mine. Pe disc se pot pune numerele de fond I și într-un fișier numit BAZSUS.TXT, pe rubrici de abundențe, de la cea mai mică la cea mai mare, dacă numerele nu sunt (multi)perfecte sau semiperfecte, cu excepția numărului de 88 de cifre de mai sus. Celelalte multi- și semiperfecte nu au ce căuta în BAZSUS.TXT. Aici se vor puse numere găsite de mine.

Am găsit pe cont propriu și câteva dintre celelalte multi- și semiperfecte, mai mici, adică nu le-am văzut întâi pe Internet, dar sunt minoritare și greu de amintit și de separat de cele văzute, chiar de neseparat. Dar cel de 88 de cifre a fost un caz special. Se pare că în mai 2012.

Prin anul 2005 am găsit câteva numere perfecte pe calculator (ca 8128, și 33550336, plus 137438691328). În mai 2005 găsirea lui 33550336 a fost o aventură, după ce l-am văzut pe 8128 și am văzut și prăpastia care se căsca după el (patru numere perfecte până la 10000, apoi nimic până după 100000).

În 2014 am revizuit și adăugat asupra metodelor de sumare a divizorilor, am creat headere noi, fișiere sursă noi, am făcut schimbări la corpul TOLIL() de funcții de actualizare a numerelor prime corespunzătoare intervalelor de numere. A fost mărit TOLIL.h cu noi funcții, a fost îmbunătățită forma de citire din / scriere în fișiere.

De asemenea a fost duplicată funcția de actualizare pentru GIG.TXT, fiind acum ACTUAL() și ACTUALM(). ACTUALM() se referă la numerele mai mari și mai apropiate de capătul GIG.TXT, și a fost proiectată și pentru economie de timp și de spațiu pe disc, ca fișierul nou (R.TXT) să nu crească mare cât (noul) GIG.TXT și să conțină doar partea superioară, actualizată, pentru GIG.TXT, fiind apoi suprascris pe zona respectivă a lui GIG.TXT. Partea de dedesubt a lui GIG.TXT, neactualizată la ACTUALM(), nu se mai citește din GIG.TXT (durează mult) și nu se mai scrie în fișierul de actualizare R.TXT (pentru economie de spațiu).

La ACTUAL() se are în vedere actualizarea părții mai joase a GIG.TXT, iar R.TXT crește cât noul GIG.TXT și se citește tot conținutul vechiului GIG.TXT (durează mult, spațiu mult).
Urmează și aici încercarea implementării unei soluții care să trunchieze vechiul GIG.TXT de la început, dacă se poate face cu bine și cu viteză, astfel ca să dispară partea de jos, pentru actualizare, a lui GIG.TXT, atunci când R.TXT a preluat-o deja la sine, apoi R-ul îmbogățit cu noile numere ia la el și partea de sus (rămasă) din GIG.TXT, dar vechiul GIG.TXT să nu-și mențină mărimea pentru când R.TXT ajunge la mărimea noului GIG (salvare de spațiu).

La sfârșitul ACTUAL(), vechiul GIG.TXT trebuie să dispară total (ștergere), fiind șters și în prezent, iar R.TXT este de fapt noul GIG.TXT, și e redenumit GIG.TXT.
La sfârșitul ACTUALM(), R.TXT este șters, pe când GIG.TXT este actualizat deja.

Actualizarea se face într-un număr definit de pași, pe intervale de numere, echidistante ca puteri ale lui 10. Pasul poate fi și unul singur, dar mărimea cantității de numere cere acum ca de regulă să fie mai mulți pași.

La 24 martie 2014 a fost lansat GMP 6. În aprilie a apărut și MPIR 2.7.0 (în februarie 2013 era 2.6.0), dar se pare că noul GMP este mai rapid cu câteva procente la execuție, față de MPIR. Au fost niște teste contradictorii, dar pe Ubuntu 14.04 LTS cu gcc 4.9 tot GMP a rezultat mai rapid cu câteva procente.

Fișierele cu numere prime sunt acum:
-CF52.TXT (numerele mai mici, toți factorii primi pe 64 de biți);
-CF80.TXT;
-CF100.TXT;
-CF130.TXT;
-CF160.TXT (limita numerelor moderate);
-CF240.TXT;
-CF420.TXT;
-P.TXT, P2.TXT.

De asemenea, PRIME.TXT, cu 5321 de numere, și PRIME2.TXT (conținutul PRIME.TXT, ordonat după modelul P2).

(va urma)

Comentarii

Postări populare