#1647
Cumpanit
Un număr natural nenul n
se numește cumpănit dacă în descompunerea sa în factori primi suma bazelor este egală cu suma exponenților. Să se scrie un program care citește două numere naturale nenule a
și b
și determină toate numerele cumpănite din intervalul închis [a, b]
.
ONI 2013, Clasa a X-a
Problema | Cumpanit | Operații I/O |
cumpanit.in /cumpanit.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 8 MB
/
Stivă 4 MB
|
Id soluție | #43089615 | Utilizator | |
Fișier | cumpanit.cpp | Dimensiune | 1.02 KB |
Data încărcării | 30 Martie 2023, 16:41 | Scor / rezultat | Eroare de compilare |
cumpanit.cpp:15:17: error: 'int exp [14]' redeclared as different kind of symbol int exp[PRIM_CNT] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; ^ In file included from /usr/include/features.h:374:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/os_defines.h:39, from /usr/include/i386-linux-gnu/c++/4.8/bits/c++config.h:426, from /usr/include/c++/4.8/iosfwd:38, from /usr/include/c++/4.8/ios:38, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from cumpanit.cpp:1: /usr/include/i386-linux-gnu/bits/mathcalls.h:100:1: error: previous declaration of 'double exp(double)' __MATHCALL (exp,, (_Mdouble_ __x)); ^ cumpanit.cpp: In function 'void check()': cumpanit.cpp:23:11: warning: pointer to a function used in arithmetic [-Wpointer-arith] if(exp[i]) { ^ cumpanit.cpp:25:20: warning: pointer to a function used in arithmetic [-Wpointer-arith] sum_exp += exp[i]; ^ cumpanit.cpp:25:12: warning: pointer to a function used in arithmetic [-Wpointer-arith] sum_exp += exp[i]; ^ cumpanit.cpp:25:12: error: invalid conversion from 'double (*)(double)throw ()' to 'int' [-fpermissive] cumpanit.cpp: In function 'void solve(int)': cumpanit.cpp:44:9: warning: pointer to a function used in arithmetic [-Wpointer-arith] exp[i]++; ^ cumpanit.cpp:44:10: error: ISO C++ forbids incrementing a pointer of type 'double (*)(double)throw ()' [-fpermissive] exp[i]++; ^ cumpanit.cpp:44:10: error: lvalue required as increment operand cumpanit.cpp:46:8: warning: pointer to a function used in arithmetic [-Wpointer-arith] exp[i] = 0; ^ cumpanit.cpp:46:10: error: assignment of read-only location '*(exp + ((sizetype)i))' exp[i] = 0; ^ cumpanit.cpp:46:10: error: cannot convert 'int' to 'double(double)throw ()' in assignment
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cumpanit 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ă.