-
Data: 2015-12-06 13:40:02
Temat: Przybliżona faktoryzacja n = a b
Od: slawek <f...@f...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Cośtam naklepałem, ale może ktoś ma lepszy pomysł? Rzecz jest
praktyczna, po prostu dwa liczniki hardwareowe pracują w kaskadzie i
każdy jest dwubajtowy, a razem są czterobajtowe, tyle że jako
iloczyn.
Czyli dla dodatniej całkowitej liczby n należy znaleźć dwie dodatnie
liczby a, b takie że n = a*b; a i b nie mogą być większe niż 0xffff,
n jest nie większe niż 0xffffffff. Jeżeli np. n jest liczbą
pierwszą, to zamiast równości mamy kryterium minimalnej abs(n - a*b).
Nota bene, stary kod w tym temacie miał proste i błędne:
a = sqrt (n);
b = n / a;
Dla n = 18 daje to 4 i 4, iloczyn 16. A można dokładnie 9 i 2, lub 3
i 6.
To co wymyśliłem to rozkład na czynniki pierwsze z nawrotami, tzn.
gdyby się nie dało to n jest zmieniane o 1. Ponieważ dla 0xffff
dobrym rozwiązaniem jest 1 i 0xffff, to dokładność 1% osiągnięta jest
dla n plus minus kilkaset. Czyli jest to wystarczające na liczby
pierwsze (tylko 2 i 3 są kolejnymi pierwszymi), a być może i niektóre
inne patologie.
Ma ktoś lepszy pomysł?
TIA
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-10-06 Prawdziwy ekologiczny samochód
- 2024-10-05 Stało się...
- 2024-10-05 skodeczka up
- 2024-10-04 Wieszanie się przy aktywnym SMP
- 2024-10-05 Warszawa => Senior Developer React Native <=
- 2024-10-05 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-10-05 Warszawa => Senior Software Engineer (C, Java) <=
- 2024-10-05 Warszawa => Menadżer Okręgu <=
- 2024-10-05 Warszawa => Specjalista/tka ds. Zamówień publicznych <=
- 2024-10-05 Warszawa => Senior C Software Engineer <=
- 2024-10-05 Warszawa => Senior PHP Laravel Developer (e-commerce) <=
- 2024-10-05 Warszawa => Full Stack .Net Engineer <=
- 2024-10-05 Warszawa => Data Scientist / Data Engineer (modele predykcyjne) <=
- 2024-10-05 Warszawa => ADMINISTRATOR SYSTEMÓW IT <=
- 2024-10-04 Katowice => Data Scientist <=