#1214
Lui Mihai îi place matematica distractivă, sau poate mai mult distracția decât matematica. Pentru a scăpa de teme, el a inventat operația ”smile” notată cu semnul ☺
, operație care se aplică numerelor naturale nenule conform exemplelor de mai jos:
6☺4=210
9☺2=711
8☺5=313
7☺6=113
6☺6=12
6☺10=416
43☺1500=14571543
23☺23=46
Profesorul de matematică i-a promis nota 10
pentru invenție, numai dacă știe să determine corect numărul divizorilor pari pentru rezultatul obținut prin operația ”smile”. Astfel, Mihai a primit N
perechi de numere (a,b)
pentru care trebuie să calculeze a☺b
și să determine dacă rezultatul obținut are divizori pari.
Scrieți un program care citește un număr natural N
și N
perechi de numere naturale (a,b)
și afișează:
a) pentru fiecare pereche de numere (a,b)
, rezultatul a☺b
;
b) cel mai mic și cel mai mare rezultat a☺b
care nu are divizori pari.
ONI GIM 2015, Clasa a V-a
Problema | Inventie | Operații I/O |
![]() inventie.in /inventie.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 2 MB
/
Stivă 2 MB
|
Id soluție | #57686908 | Utilizator | |
Fișier | inventie.cpp | Dimensiune | 335 B |
Data încărcării | 10 Aprilie 2025, 13:06 | Scor / rezultat | Eroare de compilare |
inventie.cpp: In function 'int main()': inventie.cpp:12:28: error: invalid conversion from 'long long int' to 'const char*' [-fpermissive] v[i]=string(abs(a-b))+string(a+b);} ^ In file included from /usr/include/c++/4.8/string:52:0, 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/istream:38, from /usr/include/c++/4.8/fstream:38, from inventie.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:490:7: error: initializing argument 1 of 'std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' [-fpermissive] basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()); ^ inventie.cpp:12:39: error: invalid conversion from 'long long int' to 'const char*' [-fpermissive] v[i]=string(abs(a-b))+string(a+b);} ^ In file included from /usr/include/c++/4.8/string:52:0, 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/istream:38, from /usr/include/c++/4.8/fstream:38, from inventie.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:490:7: error: initializing argument 1 of 'std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' [-fpermissive] basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()); ^ inventie.cpp:13:22: error: 'cout' was not declared in this scope for(i=0;i<n;i++){cout<<v[i]<<endl;} ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Inventie 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ă.