-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin2!goblin.stu.neva.ru!cyclone02.ams2.highwinds-media.com!voer-me.
highwinds-media.com!peer02.am1!peering.am1!peer03.fr7!news.highwinds-media.com!
newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.
pl!news.neostrada.pl.POSTED!not-for-mail
From: slawek <f...@f...com>
Newsgroups: pl.comp.programming
Subject: Przybliżona faktoryzacja n = a b
Date: Sun, 06 Dec 2015 13:40:02 +0100
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Message-ID: <a...@n...v.pl>
User-Agent: Groundhog Newsreader for Android
Lines: 29
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 79.184.179.226
X-Trace: 1449405601 unt-rea-a-01.news.neostrada.pl 682 79.184.179.226:58651
X-Complaints-To: a...@n...neostrada.pl
X-Received-Body-CRC: 3436389590
X-Received-Bytes: 1917
Xref: news-archive.icm.edu.pl pl.comp.programming:208978
[ ukryj 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 <=