Hányféleképpen bontható fel 4 nemnegatív egész szám összegére a 100?





A gépemen nincsen Windows, teljesen szűzen, Ubuntuval kaptam ajándékba.
Ubuntu (Linux) futtatható változat jó? Ha nem, akkor a Haskell forráskódból le tudod fordítani? Haskell nyelven van, a Glasgow Haskell Compiler (GHC) fordító le tudja fordítani.
Esetleg más Haskell fordító is le tudja fordítani, nem próbáltam.
Felteszem a forráskódot is, a futtatható állományt is ide:
kissé lassan fut, kb 3 perc alatt adja csak ki az eredményt.





Ha nem jönne össze a dolog, megpróbálom leírni a program logikáját magyarul, ezt már bármilyen nyelven meg tudod valósítani:
Számlálót állítsd nullára
Legkülső ciklus: a változó 0-tól 100-ig
Második ciklus: b változó 0-tól 100-ig
Harmadik ciklus: c változó 0-tól 100-ig
Legbelsőbb ciklus: d változó 0-tól 100-ig
Ciklusmag: ha a + b + c + d = 100, akkor növeld eggyel a számlálót
Harmadik ciklus vége
Második ciklus vége
Legkülső ciklus vége
Számláló kiíratása
103! / (100! 3!) kiíratása
Ha ez a két érték megegyezik, akkor sikeres, különben sikertelen volt a teszt.










program combrep;
const n = 100;
var counter: longint;
var cake, candy, chocolate, ice: integer;
begin
counter := 0;
for cake := 0 to n do
for candy := 0 to n do
for chocolate := 0 to n do
for ice := 0 to n do
if cake + candy + chocolate + ice = n then
inc(counter);
writeln(counter);
end.










ponsútosbban?
: a potosvesszők meglétére és a pontosvesszők hiányára. Ahol hiányzik a sorlezáró pontosvessző, ott érdemes a következő sort egy tabulátornyival beljebb kezdeni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!