#2960
Un număr natural n se numește putere dacă există două numere naturale a, b, a ≥ 1, b ≥ 2 astfel încât \(n = a^b\). De exemplu, numerele 32 , 169 , 1 sunt puteri (\(32 = 2^5\) , \(169 = 13^2\) , \(1 = 1^2\) ), iar 72 , 2000 și 31 nu sunt puteri.
Se citesc numerele naturale N , M și un șir de N numere naturale \(x_1, x_2, …, x_N\) din intervalul [1,M].
Pentru fiecare din cele N numere \(x_i\) determinați câte un număr natural \(r_i\) din intervalul [1,M], cu proprietatea că \(r_i\) este o putere și pentru orice altă putere p din intervalul [1,M] este îndeplinită condiția \(|x_i – r_i| ≤ |x_i – p|\), unde |x| reprezintă valoarea absolută a lui x (modulul).
Dacă există două puteri egal depărtate de \(x_i\) se va alege puterea cea mai mică. De exemplu pentru numărul 26, dintre puterile 25 și 27 va fi ales numărul 25.
OJI 2019
| Problema | abx | Operații I/O |
abx.in/abx.out
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 32 MB
/
Stivă 8 MB
|
| Id soluție | #63399238 | Utilizator | |
| Fișier | abx.cpp | Dimensiune | 1.18 KB |
| Data încărcării | 01 Martie 2026, 21:26 | Scor/rezultat | Eroare de compilare |
abx.cpp:10:1: error: '__int128_t' does not name a type __int128_t ct,difmin,dif,adifmin,bdifmin,a,b; ^ abx.cpp: In function 'int main()': abx.cpp:17:9: error: 'difmin' was not declared in this scope difmin=x-1; ^ abx.cpp:18:9: error: 'bdifmin' was not declared in this scope bdifmin=2; ^ abx.cpp:19:9: error: 'adifmin' was not declared in this scope adifmin=1; ^ abx.cpp:20:9: error: 'dif' was not declared in this scope dif=difmin+1; ^ abx.cpp:22:13: error: 'a' was not declared in this scope for(a=2; a<=sqrt(x)+1; a++) ^ abx.cpp:24:13: error: 'b' was not declared in this scope b=1; ^ abx.cpp:25:13: error: 'ct' was not declared in this scope ct=1; ^ abx.cpp:26:17: error: '__int128_t' was not declared in this scope for(__int128_t j=a*a; j<=x; j=j*a) ^ abx.cpp:26:28: error: expected ';' before 'j' for(__int128_t j=a*a; j<=x; j=j*a) ^ abx.cpp:26:35: error: 'j' was not declared in this scope for(__int128_t j=a*a; j<=x; j=j*a) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema abx face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
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ă.