Le kell írnom az összes létező számkombinációt.20 számból 10et kell. Nincs számismétlés. Leírná nekem valaki?
Linux alá tudok küldeni programot, ami kinyomtatja. Most lettem kész vele.
(Ha nem bíznál meg abban, hogy nem vírus, akkor a forráskódot is elküldhetem, de akkor Neked Magadnak kell telepítened a futtató programnyelvet /Haskell/.)
Szóval szerintem a tanárt akkor mr inkább érdekelheti az eredményt kinyomató program. Ez magukat a ,,választási'' (kombinációs) listákat nyomtatja ki, nemcsak az összes lehetséges választás számát.
module Subsets where
type Nat = Integer
under :: [a] -> Nat -> [[a]]
under n 0 = [[]]
under [] (k + 1) = []
under (a : as) (k + 1) = map (a :) (under as k) ++ under as (k + 1)
Élőszóval:
* Egy tetszőleges halmaznak egyetlenegy 0-elemű részhalmaza van, ez az üres halmaz.
* Az üres halmaznak nincsen nem-üres részhalmaza.
* Nem üres halmaz k + 1 elemű részhalmazait úgy tarthatom nyilván, hogy ,,megjeleölöm'' a halmaz egyik elemét, aztán ,,emellé hozzáválasztok még'' k elemet, de még úgy is lehet, hogy nem választom be a megjelölt elemet, ekkor viszont k + 1 elemet kell kiválasztanom a megjelölt elemen kivüli elemek közül.
Szóval a fenti Haskell program éppen azt fejezi ki a matematika nyelvén, amit itt most élőszóval elmondtam. Ez a program a gépnek elég ahhoz, hogy ez alapján ki tudja nyomtatni az összes lehetséges kombinációt (n elemű halmaz összes k elemű részhalmazát mind felsorolja).
További kérdések:
Minden jog fenntartva © 2024, 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!