🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.funkcyjne
Article #961

Re: zupki

#961
From: Czarek
Date: Sun, 18 Oct 2009 11:50
43 lines
2327 bytes
Czarek pisze:
> Czarek pisze:
> 
>> Jak prosto to zaprogramować? Niby można za pomocą 6 zagnieżdżonych 
>> pętli, ale przy dopisaniu liczby może zajść konieczność modyfikacji 
>> tekstu programu i ponownej kompilacji.
> 
> Miałem na myśli, że trzeba użyć 2,3,4,5 i 6  pętli, żeby wybierać 
> zestawy liczące 2,3 .. 6 liczb. Coś w stylu
> for a := 1 to ilosc - 1 do
>   for b := a + 1 to ilosc do
>     begin
>       sumowanie;
>     end;
> 
> dla sumowania zestawu 2 liczb. Dla 3 - 3 pętle itp.
> 
> Może ktoś ma bardziej elegancki pomysł, aby nie rekurencyjnie, maszynka 
> nie podoła.
> 

Już sobie z tym poradziłem.
Sortuje dane wejściowe, sumuje po kolei od najmniejszej do przekroczenia 
załozonej sumy i już wiem ile maksymalnie danych trzeba wybrać ze zbioru 
wejściowego.
Potem już tylko w pętli

    for k :=1 to mk do
        kombinacje(n,k);

Czas wykonania spadł 50..60 razy (dla 35 liczb).
Na razie do przyjęcia, ale mam kolejny pomysł. Jeśli wybieram zbiory 2 
elementowe i suma najmniejszej i najwiekszej liczby jest za duża, to 
mogę śmiało wywalić z danych wejściowych największą  liczbę. Jesli 3 
elementowe sprawdzam sumę 2 najmniejszych i największą. Myślę, że to 
może też znacznie przyspieszyć.
Czy tu ktoś zagląda?

Pozdrawiam

-- 
Cezary Grądys
czarekgr@wa.onet.pl
Technical Details
Message-ID: <hbf027$hnt$1@nemesis.news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
References: <hbceak$ob$1@atlantis.news.neostrada.pl> <hbceso$1u4$1@atlantis.news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
From: Czarek <czarekgr@wa.onet.pl>
Newsgroups: pl.comp.lang.funkcyjne
Subject: Re: zupki
Date: Sun, 18 Oct 2009 13:50:38 +0200
Organization: TP - http://www.tp.pl/
Lines: 43
Message-ID: <hbf027$hnt$1@nemesis.news.neostrada.pl>
References: <hbceak$ob$1@atlantis.news.neostrada.pl> <hbceso$1u4$1@atlantis.news.neostrada.pl>
NNTP-Posting-Host: dof13.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: nemesis.news.neostrada.pl 1255867271 18173 83.24.113.13 (18 Oct 2009 12:01:11 GMT)
X-Complaints-To: usenet@news.neostrada.pl
NNTP-Posting-Date: Sun, 18 Oct 2009 12:01:11 +0000 (UTC)
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
In-Reply-To: <hbceso$1u4$1@atlantis.news.neostrada.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit