Detalii evaluare #57378686

Rezumat problemă

Fiind date n numere naturale, aflați câte dintre acestea se pot scrie ca sumă de puteri distincte ale unui număr natural k.

Detalii

Problema puteri1 Operații I/O tastatură/ecran
Limita timp 0.2 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #57378686 Utilizator Ilc Rares (raresqnz)
Fișier puteri1.cpp Dimensiune 2.91 KB
Data încărcării 28 Martie 2025, 08:45 Scor / rezultat Eroare de compilare

Evaluare

Mesaj compilare

puteri1.cpp:48:1: error: stray '\310' in program
 Explicație:

 ^
puteri1.cpp:48:1: error: stray '\233' in program
puteri1.cpp:51:1: error: stray '\304' in program
 Folosim un ciclu pentru a calcula puterile succesive ale lui k (adică k^0, k^1, k^2, ..., k^m) și le stocăm într-un vector puteri. Continuăm până când k^m devine mai mare decât 1.000.000.000 (limita superioară a numerelor din input).

 ^
puteri1.cpp:51:1: error: stray '\203' in program
puteri1.cpp:51:1: error: stray '\310' in program
puteri1.cpp:51:1: error: stray '\231' in program
puteri1.cpp:51:1: error: stray '\304' in program
puteri1.cpp:51:1: error: stray '\203' in program
puteri1.cpp:51:1: error: stray '\303' in program
puteri1.cpp:51:1: error: stray '\256' in program
puteri1.cpp:51:1: error: stray '\304' in program
puteri1.cpp:51:1: error: stray '\203' in program
puteri1.cpp:51:1: error: stray '\303' in program
puteri1.cpp:51:1: error: stray '\242' in program
puteri1.cpp:51:1: error: stray '\304' in program
puteri1.cpp:51:1: error: stray '\203' in program
puteri1.cpp:51:1: error: stray '\303' in program
puteri1.cpp:51:1: error: stray '\242' in program
puteri1.cpp:51:1: error: stray '\303' in program
puteri1.cpp:51:1: error: stray '\242' in program
puteri1.cpp:51:187: error: too many decimal points in number
 Folosim un ciclu pentru a calcula puterile succesive ale lui k (adică k^0, k^1, k^2, ..., k^m) și le stocăm într-un vector puteri. Continuăm până când k^m devine mai mare decât 1.000.000.000 (limita superioară a numerelor din input).

                                                                                                                                                                                           ^
puteri1.cpp:51:1: error: stray '\304' in program
 Folosim un ciclu pentru a calcula puterile succesive ale lui k (adică k^0, k^1, k^2, ..., k^m) și le stocăm într-un vector puteri. Continuăm până când k^m devine mai mare decât 1.000.000.000 (limita superioară a numerelor din input).

 ^
puteri1.cpp:51:1: error: stray '\203' in program
puteri1.cpp:53:1: error: stray '\304' in program
 Verificarea fiecărui număr:

 ^
puteri1.cpp:53:1: error: stray '\203' in program
puteri1.cpp:53:1: error: stray '\304' in program
puteri1.cpp:53:1: error: stray '\203' in program
puteri1.cpp:55:1: error: stray '\304' in program
 Pentru fiecare număr din vectorul numere, folosim funcția poateFiSuma care verifică dacă numărul respectiv poate fi scris ca sumă de puteri distincte ale lui k. Aceasta se face printr-o abordare de "sumă de subseturi" folosind puterile lui k.

 ^
puteri1.cpp:55:1: error: stray '\203' in program
puteri1.cpp:55:1: error: stray '\310' in program
puteri1.cpp:55:1: error: stray '\233' in program
puteri1.cpp:55:1: error: stray '\304' in program
puteri1.cpp:55:1: error: stray '\203' in program
puteri1.cpp:55:1: error: stray '\304' in program
puteri1.cpp:55:1: error: stray '\203' in program
puteri1.cpp:55:1: error: stray '\304' in program
puteri1.cpp:55:1: error: stray '\203' in program
puteri1.cpp:55:1: error: stray '\304' in program
puteri1.cpp:55:1: error: stray '\203' in program
puteri1.cpp:59:1: error: stray '\304' in program
 Dacă un număr poate fi scris ca sumă de puteri distincte ale lui k, incrementăm un contor și la final afișăm acest contor.

 ^
puteri1.cpp:59:1: error: stray '\203' in program
puteri1.cpp:59:1: error: stray '\304' in program
puteri1.cpp:59:1: error: stray '\203' in program
puteri1.cpp:59:1: error: stray '\304' in program
puteri1.cpp:59:1: error: stray '\203' in program
puteri1.cpp:59:1: error: stray '\304' in program
puteri1.cpp:59:1: error: stray '\203' in program
puteri1.cpp:59:1: error: stray '\310' in program
puteri1.cpp:59:1: error: stray '\231' in program
puteri1.cpp:59:1: error: stray '\310' in program
puteri1.cpp:59:1: error: stray '\231' in program
puteri1.cpp:59:1: error: stray '\304' in program
puteri1.cpp:59:1: error: stray '\203' in program
puteri1.cpp:67:1: error: stray '\310' in program
 Ieșire:

 ^
puteri1.cpp:67:1: error: stray '\231' in program
puteri1.cpp:71:1: error: stray '\310' in program
 Explicație pentru exemplu:

 ^
puteri1.cpp:71:1: error: stray '\233' in program
puteri1.cpp:72:1: error: stray '\304' in program
 37 poate fi scris ca sumă de puteri distincte ale lui 3: 3^3 + 3^2 + 3^0 = 27 + 9 + 1 = 37.

 ^
puteri1.cpp:72:1: error: stray '\203' in program
puteri1.cpp:74:1: error: stray '\304' in program
 12 poate fi scris ca sumă de puteri distincte ale lui 3: 3^2 + 3^1 = 9 + 3 = 12.

 ^
puteri1.cpp:74:1: error: stray '\203' in program
puteri1.cpp:76:1: error: stray '\304' in program
 9 poate fi scris ca sumă de puteri distincte ale lui 3: 3^2 = 9.

 ^
puteri1.cpp:76:1: error: stray '\203' in program
puteri1.cpp:78:1: error: stray '\304' in program
 Numărul 6 nu poate fi scris astfel (nu există o combinație de puteri distincte ale lui 3 care să dea 6) și nici 5 (nu poate fi scris ca sumă de puteri distincte ale lui 3).

 ^
puteri1.cpp:78:1: error: stray '\203' in program
puteri1.cpp:78:1: error: stray '\304' in program
puteri1.cpp:78:1: error: stray '\203' in program
puteri1.cpp:78:1: error: stray '\310' in program
puteri1.cpp:78:1: error: stray '\233' in program
puteri1.cpp:78:1: error: stray '\304' in program
puteri1.cpp:78:1: error: stray '\203' in program
puteri1.cpp:78:1: error: stray '\310' in program
puteri1.cpp:78:1: error: stray '\231' in program
puteri1.cpp:78:1: error: stray '\304' in program
puteri1.cpp:78:1: error: stray '\203' in program
puteri1.cpp:83:1: error: stray '\304' in program
 Calcularea puterilor lui k: Este O(log(N)) deoarece calculăm puterile lui k până la 1.000.000.000.

 ^
puteri1.cpp:83:1: error: stray '\203' in program
puteri1.cpp:83:1: error: stray '\303' in program
puteri1.cpp:83:1: error: stray '\242' in program
puteri1.cpp:83:1: error: stray '\304' in program
puteri1.cpp:83:1: error: stray '\203' in program
puteri1.cpp:83:88: error: too many decimal points in number
 Calcularea puterilor lui k: Este O(log(N)) deoarece calculăm puterile lui k până la 1.000.000.000.

                                                                                        ^
puteri1.cpp:85:1: error: stray '\304' in program
 Verificarea fiecărui număr: Pentru fiecare număr, iterăm prin puterile lui k, deci complexitatea totală pentru verificarea tuturor numerelor este O(n * log(N)).

 ^
puteri1.cpp:85:1: error: stray '\203' in program
puteri1.cpp:85:1: error: stray '\304' in program
puteri1.cpp:85:1: error: stray '\203' in program
puteri1.cpp:85:1: error: stray '\304' in program
puteri1.cpp:85:1: error: stray '\203' in program
puteri1.cpp:85:1: error: stray '\304' in program
puteri1.cpp:85:1: error: stray '\203' in program
puteri1.cpp:85:1: error: stray '\304' in program
puteri1.cpp:85:1: error: stray '\203' in program
puteri1.cpp:87:1: error: stray '\310' in program
 Programul va funcționa eficient chiar și pentru valorile mari ale lui n (până la 100.000).

 ^
puteri1.cpp:87:1: error: stray '\233' in program
puteri1.cpp:87:1: error: stray '\310' in program
puteri1.cpp:87:1: error: stray '\231' in program
puteri1.cpp:87:1: error: stray '\303' in program
puteri1.cpp:87:1: error: stray '\242' in program
puteri1.cpp:87:1: error: stray '\304' in program
puteri1.cpp:87:1: error: stray '\203' in program
puteri1.cpp:48:1: error: 'Explica' does not name a type
 Explicație:

 ^

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 puteri1 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!