Path: csiph.com!news.mixmin.net!news.unit0.net!news.nask.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: bartekltg Newsgroups: pl.comp.programming Subject: =?UTF-8?Q?Re:_jak_posortowa=c4=87_czynniki?= Date: Wed, 12 Oct 2016 18:42:54 +0200 Organization: ATMAN - ATM S.A. Lines: 36 Message-ID: References: <1b039ed5-894a-4e42-9517-00807aa830ef@googlegroups.com> NNTP-Posting-Host: 89-70-119-159.dynamic.chello.pl Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: node2.news.atman.pl 1476290574 2421 89.70.119.159 (12 Oct 2016 16:42:54 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Wed, 12 Oct 2016 16:42:54 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 In-Reply-To: <1b039ed5-894a-4e42-9517-00807aa830ef@googlegroups.com> Xref: csiph.com pl.comp.programming:29093 On 12.10.2016 17:41, M.M. wrote: > > Mamy dane wejściowe: > tab[N] - tablica liczb zmiennoprzecinkowych > > Dane wyjsciowe: > Iloczyn tab[0] * tab[1] * ... * tab[N-1] > > Pytanie: > Jak posortować dane w tab aby mnożenie było maksymalnie stabilne > numerycznie? Nie ma znaczenia. Mnożysz mantysy, które zawsze są w przedziale [0.5,1) cechy dodajesz stałoprzecinkowo. ["Ty w sensie komputer jak mnożysz zmienne float/double", nie trzeba nic ręcznie poprawiać]. > Przy dodawaniu najlepiej posortować od najmniejszych co do wartości > bezwzględnej. Nie jest to prawda. Jest to jedna z metod sumowania, ale okazuje się, że wcale nie najlepsza (najlepsza w sensie da najlepszy wynik dla każdego ciągu). Gdzieś kiedyś miałęm dobrą pracę na ten temat, a do tego napisany zestaw kodów dowolnej pracyzji do takiego sumowania (od najmniejszej od największej, ze stosem, Kahanem, parami...) ale za szybko tego nie odkopię. pzdr bartekltg