Pagini recente »
Clasament pregatire_oni_2017_v
|
Diferențe pentru problema/nenepatrat între reviziile 8 și 9
|
Diferențe pentru problema/inventie între reviziile 13 și 16
Nu există diferențe între titluri.
Diferențe între conținut:
== include(page="template/taskheader" task_id="inventie") ==
_Notă: problemei i-au fost adăugate teste întrucît cele originale nu acopereau anumite cazuri limită permițînd soluții incorecte să obțină punctaj maxim._
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
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.
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.
h2. Cerință
Scrieți un program care citește un număr natural *N* și *N* perechi de numere naturale ([*a*], *b*) și afișează:
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.
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.
h2. Date de intrare
În fișierul de ieșire $inventie.out$:
* pentru fiecare din cele *N* perechi ([*a*], *b*), se va afișa rezultatul [*a*]☺*b*, fiecare rezultat pe câte o linie, în ordinea în care perechile apar în fișierul de intrare;
* dacă toate cele *N* rezultate obținute au divizori pari, pe linia *N*+1 se va afișa valoarea 0 (zero);
* dacă s-a obținut măcar un rezultat fără divizori pari, atunci, pe linia *N*+1 se va afișa cel mai mic rezultat [*a*]☺*b* care nu are divizori pari, și pe linia *N*+2 se va afișa cel mai mare rezultat [*a*]☺*b* care nu are divizori pari. Dacă un singur rezultat nu are divizori pari, atunci acesta va fi scris și pe linia *N*+1 și pe linia *N*+2.
* pentru fiecare din cele *N* perechi ([*a*], *b*), se va afișa rezultatul [*a*]☺[*b*], fiecare rezultat pe câte o linie, în ordinea în care perechile apar în fișierul de intrare;
* dacă toate cele *N* rezultate obținute au divizori pari, pe linia [*N*]+1 se va afișa valoarea 0 (zero);
* dacă s-a obținut măcar un rezultat fără divizori pari, atunci, pe linia [*N*]+1 se va afișa cel mai mic rezultat [*a*]☺[*b*] care nu are divizori pari, și pe linia [*N*]+2 se va afișa cel mai mare rezultat [*a*]☺[*b*] care nu are divizori pari. Dacă un singur rezultat nu are divizori pari, atunci acesta va fi scris și pe linia [*N*]+1 și pe linia [*N*]+2.
h2. Restricții
h2. Exemplu
table(example).
table(example).
|_. inventie.in |_. inventie.out |_. Explicații |
| 8
6 4
Nu există diferențe între securitate.