#2494
Se consideră două șiruri D=(D1,D2,...,Dn) și E=(E1,E2,... ,En) ce reprezintă descompunerea în factori primi pentru un număr natural nenul X, după cum urmează: Di – factorul prim, Ei – puterea la care apare factorul prim Di în descompunerea numărului X (1≤i≤n), unde n reprezintă numărul factorilor primi.
Cerința
Să se determine:
1. numărul total de divizori naturali ai lui X
2. divizorii lui X care aparțin intervalului [A,B], unde A și B sunt două numere naturale date.
ONIG 2018, clasa a VI-a
| Problema | descmult | Operații I/O |
descmult.in/descmult.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 32 MB
/
Stivă 32 MB
|
| Id soluție | #62698428 | Utilizator | |
| Fișier | descmult.cpp | Dimensiune | 867 B |
| Data încărcării | 29 Ianuarie 2026, 22:11 | Scor/rezultat | Eroare de compilare |
descmult.cpp:7:20: error: 'std::vector<long long int> div' redeclared as different kind of symbol vector<long long> div; ^ In file included from /usr/include/c++/4.8/cstdlib:72:0, from /usr/include/c++/4.8/ext/string_conversions.h:41, from /usr/include/c++/4.8/bits/basic_string.h:2815, from /usr/include/c++/4.8/string:52, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from descmult.cpp:1: /usr/include/stdlib.h:789:14: error: previous declaration of 'div_t div(int, int)' extern div_t div (int __numer, int __denom) ^ descmult.cpp: In function 'void gen(int, long long int)': descmult.cpp:10:16: error: 'n' was not declared in this scope if (idx == n) ^ descmult.cpp:12:23: error: 'A' was not declared in this scope if (curent >= A && curent <= B) ^ descmult.cpp:12:38: error: 'B' was not declared in this scope if (curent >= A && curent <= B) ^ descmult.cpp:13:13: error: 'divizori' was not declared in this scope divizori.push_back(curent); ^ descmult.cpp:17:26: error: 'e' was not declared in this scope for (int k = 0; k <= e[idx]; k++) ^ descmult.cpp:20:21: error: 'd' was not declared in this scope val = val * d[idx]; ^ descmult.cpp: In function 'int main()': descmult.cpp:43:26: error: 'divizori' was not declared in this scope for (long long x : divizori) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema descmult 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ă.