Detalii evaluare #9154811

Rezumat problemă

bazaf

#2457

În matematică factorialul unui număr natural nenul K este notat cu K! și este egal cu produsul numerelor naturale nenule mai mici sau egale cu K.
Orice număr natural N poate fi descompus cu ajutorul numerelor factoriale astfel:
N = 1! • f[1] + 2! • f[2] + 3! • f[3] + ... + m! • f[m]
unde coeficienții f[i], cu 1 ≤ i ≤ m sunt numere naturale și în plus f[m] ≠ 0.
Dintre toate aceste descompuneri posibile există o singură descompunere, numită descompunere în bază factorială care respectă suplimentar condițiile 0 ≤ f[i] ≤ i, cu 1 ≤ i < m și 0 < f[m] ≤ m.
1. Să se determine descompunerea în bază factorială a unui număr natural X dat.
2. Cunoscând o descompunere oarecare a unui număr natural Y să se determine descompunerea în bază factorială a acestuia.

ONI 2018 clasa a IX-a

Fișiere Pracsiu Dan (dnprx) Ciprian Cheșcă, Eugenie Daniel Posdărăscu concurs

Detalii

Problema bazaf Operații I/O bazaf.in/bazaf.out
Limita timp 0.8 secunde Limita memorie Total: 128 MB / Stivă 32 MB
Id soluție #9154811 Utilizator Caramida Iustina Andreea (iusty)
Fișier bazaf.cpp Dimensiune 1.42 KB
Data încărcării 12 Aprilie 2018, 19:15 Scor / rezultat 100 puncte

Evaluare

Mesaj compilare

bazaf.cpp: In function 'void nou()':
bazaf.cpp:39:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=1; i<=n; ++i) {

                     ^
bazaf.cpp: In function 'int main()':
bazaf.cpp:62:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(i=1; i<=n; ++i) {

                 ^
bazaf.cpp:70:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         while(a>i){

                 ^
bazaf.cpp:80:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(i=1; i<=k; ++i)

                 ^
bazaf.cpp: In function 'void nou()':
bazaf.cpp:40:30: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         fscanf(fin,"%lld",&a);

                              ^
bazaf.cpp: In function 'int main()':
bazaf.cpp:48:37: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     fscanf(fin,"%d%lld",&cerinta,&n);

                                     ^
bazaf.cpp:63:30: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         fscanf(fin,"%lld",&x);

                              ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
0 0 secunde OK. 10 10
1 0 secunde OK. 10 10
2 0 secunde OK. 10 10
3 0 secunde OK. 10 10
4 0 secunde OK. 10 10
5 0 secunde OK. 10 10
6 0 secunde OK. 10 10
7 0.032 secunde OK. 10 10
8 0.032 secunde OK. 10 10
9 0.032 secunde OK. 10 10
Punctaj total 100

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema bazaf face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.

Du-te sus!