Diferențe pentru problema/permutari1 între reviziile #1 si #7

Nu există diferențe între titluri.

Diferențe între conținut:

== include(page="template/taskheader" task_id="permutari1") ==
Poveste și cerință...
_Notă: aceasta este o problemă de introducere în recursivitate. Atenție, funcția recursivă de generare a permutărilor trebuie scrisă eficient. Succes!_
 
Dat *n* ≤ 10 considerăm permutările cifrelor de la 0 la [*n*]-1. Fiecare permutare va fi un număr de *n* cifre. Ordonînd aceste numere ele vor căpăta poziții. De exemplu, pentru *n* = 3 vom avea numerele (în ordine): 12, 21, 102, 120, 201, 210. Poziția lui 12 este 1, poziția lui 102 este 3, iar poziția lui 120 este 4.
 
h2. Cerință
 
Dat *n* și pozițiile unor numere de *n* cifre, în ordine crescătoare, să se afișeze suma numerelor de la acele poziții.
h2. Date de intrare
Fișierul de intrare $permutari1.in$ ...
Fișierul de intrare $permutari1.in$ conține pe prima linie numărul *n*. Pe următoarele linii se vor afla pozițiile numerelor de *n* cifre, în ordine crescătoare, cîte una pe linie. Pe ultima linie a fișierului se va afla numărul 0 (terminator de poziții).
h2. Date de ieșire
În fișierul de ieșire $permutari1.out$ ...
În fișierul de ieșire $permutari1.out$ se va scrie suma acelor numere de *n* cifre (formate din permutările cifrelor de la 0 la [*n*]-1) ale căror poziții au fost citite din fișierul de intrare.
h2. Restricții
* $... ≤ ... ≤ ...$
* 1 ≤ *n* ≤ 10
* Numărul de poziții ce se vor citi din fișierul de intrare este mai mic sau egal decît minimul dintre *n*! și 50000
* Pozițiile se află în ordine crescătoare în fișierul de intrare
* Pozițiile nu se repetă
* Pozițiile sînt între 1 și *n*! (numărul de permutări de *n* cifre)
h2. Exemplu
table(example).
|_. permutari1.in |_. permutari1.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
 
h3. Explicație
 
...
table(example).
|_. permutari1.in |_. permutari1.out |_. Explicație |
| 3
1
3
4
0
| 234
| Permutările posibile sînt:
 
poziția 1: 012
poziția 2: 021
poziția 3: 102
poziția 4: 120
poziția 5: 201
poziția 6: 210
 
Efectuînd suma numerelor de pe pozițiile 1, 3 și 4 obținem 12 + 102 + 120 = 234.
|
== include(page="template/taskfooter" task_id="permutari1") ==

Nu există diferențe între securitate.