#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 | #58411115 | Utilizator | |
Fișier | abx.cpp | Dimensiune | 866 B |
Data încărcării | 02 Iunie 2025, 17:44 | Scor / rezultat | Eroare de compilare |
abx.cpp: In function 'long long int cb(long long int, long long int)': abx.cpp:5:13: error: expected primary-expression before 'long' #define int long long ^ abx.cpp:14:13: note: in expansion of macro 'int' if (int(pow(v,i))<x) s=v+1; ^ abx.cpp:5:13: error: expected ')' before 'long' #define int long long ^ abx.cpp:14:13: note: in expansion of macro 'int' if (int(pow(v,i))<x) s=v+1; ^ abx.cpp: In function 'int main()': abx.cpp:5:13: error: expected primary-expression before 'long' #define int long long ^ abx.cpp:32:19: note: in expansion of macro 'int' if (x-int(pow(r-1,j))<minim) {minim=x-int(pow(r-1,j)); mn=int(pow(r-1,j));} ^ abx.cpp:5:13: error: expected ')' before 'long' #define int long long ^ abx.cpp:32:19: note: in expansion of macro 'int' if (x-int(pow(r-1,j))<minim) {minim=x-int(pow(r-1,j)); mn=int(pow(r-1,j));} ^ abx.cpp:5:13: error: expected primary-expression before 'long' #define int long long ^ abx.cpp:32:51: note: in expansion of macro 'int' if (x-int(pow(r-1,j))<minim) {minim=x-int(pow(r-1,j)); mn=int(pow(r-1,j));} ^ abx.cpp:5:13: error: expected ';' before 'long' #define int long long ^ abx.cpp:32:51: note: in expansion of macro 'int' if (x-int(pow(r-1,j))<minim) {minim=x-int(pow(r-1,j)); mn=int(pow(r-1,j));} ^ abx.cpp:5:13: error: expected primary-expression before 'long' #define int long long ^ abx.cpp:32:71: note: in expansion of macro 'int' if (x-int(pow(r-1,j))<minim) {minim=x-int(pow(r-1,j)); mn=int(pow(r-1,j));} ^ abx.cpp:5:13: error: expected ';' before 'long' #define int long long ^ abx.cpp:32:71: note: in expansion of macro 'int' if (x-int(pow(r-1,j))<minim) {minim=x-int(pow(r-1,j)); mn=int(pow(r-1,j));} ^ abx.cpp:5:13: error: expected primary-expression before 'long' #define int long long ^ abx.cpp:33:19: note: in expansion of macro 'int' if (x-int(pow(r,j))<minim) {minim=x-int(pow(r,j)); mn=int(pow(r,j));} ^ abx.cpp:5:13: error: expected ')' before 'long' #define int long long ^ abx.cpp:33:19: note: in expansion of macro 'int' if (x-int(pow(r,j))<minim) {minim=x-int(pow(r,j)); mn=int(pow(r,j));} ^ abx.cpp:5:13: error: expected primary-expression before 'long' #define int long long ^ abx.cpp:33:49: note: in expansion of macro 'int' if (x-int(pow(r,j))<minim) {minim=x-int(pow(r,j)); mn=int(pow(r,j));} ^ abx.cpp:5:13: error: expected ';' before 'long' #define int long long ^ abx.cpp:33:49: note: in expansion of macro 'int' if (x-int(pow(r,j))<minim) {minim=x-int(pow(r,j)); mn=int(pow(r,j));} ^ abx.cpp:5:13: error: expected primary-expression before 'long' #define int long long ^ abx.cpp:33:67: note: in expansion of macro 'int' if (x-int(pow(r,j))<minim) {minim=x-int(pow(r,j)); mn=int(pow(r,j));} ^ abx.cpp:5:13: error: expected ';' before 'long' #define int long long ^ abx.cpp:33:67: note: in expansion of macro 'int' if (x-int(pow(r,j))<minim) {minim=x-int(pow(r,j)); mn=int(pow(r,j));} ^ abx.cpp:5:13: error: expected primary-expression before 'long' #define int long long ^ abx.cpp:34:17: note: in expansion of macro 'int' if (int(pow(r+1,j))-x<minim) {minim=int(pow(r+1,j))-x; mn=int(pow(r+1,j));} ^ abx.cpp:5:13: error: expected ')' before 'long' #define int long long ^ abx.cpp:34:17: note: in expansion of macro 'int' if (int(pow(r+1,j))-x<minim) {minim=int(pow(r+1,j))-x; mn=int(pow(r+1,j));} ^ abx.cpp:5:13: error: expected primary-expression before 'long' #define int long long ^ abx.cpp:34:49: note: in expansion of macro 'int' if (int(pow(r+1,j))-x<minim) {minim=int(pow(r+1,j))-x; mn=int(pow(r+1,j));} ^ abx.cpp:5:13: error: expected ';' before 'long' #define int long long ^ abx.cpp:34:49: note: in expansion of macro 'int' if (int(pow(r+1,j))-x<minim) {minim=int(pow(r+1,j))-x; mn=int(pow(r+1,j));} ^ abx.cpp:5:13: error: expected primary-expression before 'long' #define int long long ^ abx.cpp:34:71: note: in expansion of macro 'int' if (int(pow(r+1,j))-x<minim) {minim=int(pow(r+1,j))-x; mn=int(pow(r+1,j));} ^ abx.cpp:5:13: error: expected ';' before 'long' #define int long long ^ abx.cpp:34:71: note: in expansion of macro 'int' if (int(pow(r+1,j))-x<minim) {minim=int(pow(r+1,j))-x; mn=int(pow(r+1,j));} ^
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ă.