Fișierul intrare/ieșire permutari1.in, permutari1.out Sursă IQ Academy
Autor Cristian Frâncu Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 0.35 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Permutări1 (clasa a 7-a)

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.

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.

Date de intrare

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).

Date de ieșire

Î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.

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)

Exemplu

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.

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 4 categorii