Informatika gyűjtemény

Egy szinttel feljebb Megoldás

2004050607080910

NézetNyomtat

A megoldás algoritmusa

Levonunk egy lehetséges első tagot az összegből, majd a megmaradó részre rekurzív meghívjuk az eljárást. Az összeg tagjait a globális tag tömbben tároljuk, figyelve arra, hogy a tagok monoton növekvő sorozatot alkossanak. (Ezzel garantáljuk, hogy minden megoldást egyszer kapunk meg.) Kezdetben tag[0]=1.

Az algoritmus:

Particio(n, szint)
   Ha n = 0 akkor

      Ki: tag[1], tag[2], ..., tag[szint]
   különben
      Ciklus i := tag[szint]-től n-ig
         tag[szint + 1] := i
         Particio(- i, szint + 1)
      Ciklus vége
   Elágazás vége
Eljárás vége

Megoldások