C++
Se dă un șir de n fracții. Fiecare fracție este dată printr-o pereche de numere reprezentând numărătorul și numitorul fracției. De exemplu 2010 34 reprezintă fracția 201034201034 . O fracție poate fi ireductibilă sau se poate
simplifica. În exemplul precedent, 201034201034 se simplifică prin 2 și rezultă 100517100517.
Cerința
Să se afișeze, pentru fiecare fracție:
1) Prin câte moduri distincte se poate simplifica.
2) Fracția ireductibilă.
Date de intrare
În fișierul de intrare fractii4.in pe prima linie se găsesc numerele P și n, iar pe următoarele n linii se găsesc n perechi de numere, reprezentând numărătorul și numitorul fiecărei fracții, separate printr-un spațiu.
Date de ieșire
Pe fiecare din cele n linii ale fișierului fractii4.out se găsesc, pentru fiecare fracție, în ordinea dată în fișierul de intrare:
1) Dacă P = 1, numărul de simplificări distincte posibile. Dacă nu este posibilă nicio simplificare (fracția este ireductibilă) se va afișa -1.
2) Dacă P = 2, fracția ireductibilă, numărătorul și numitorul fiind separați prin /.
Restricții și precizări
n <= 100 000
0 < numitor, numărător < 2 000 000
P este 1 sau 2
Exemplul 1
fractii4.in
1 4
8 4
3 2
1 6
12 6
fractii4.out
2
-1
-1
3
Explicație
Pentru acest test P = 1, deci se va rezolva doar cerinţa 1).
Prima fracție se poate simplifica prin 2 moduri: prin 2 și 4.
A doua este ireductibilă, deci se va afișa -1.
A treia este ireductibilă, deci se va afișa -1.
A patra se poate simplifica prin 3 moduri: 2, 3 și 6.
Exemplul 2
fractii4.in
2 3
22 6
11 4
125 25
fractii4.out
11/3
11/4
5/1
Explicație
Pentru acest test P = 2, deci se va rezolva doar cerinţa 2).
Prima fracție se simplifică prin 2.
A doua fracție este ireductibilă, deci va fi afișată fără schimbare.
Ultima fracție poate fi redusă prin 25 și devine ireductibilă. Chiar dacă
numitorul este 1, acesta va fi afișat.
Răspunsuri la întrebare
Răspuns de
1
Basics of C++Structure of a programVariables and typesConstantsOperatorsBasic Input/Output
Program structureControl StructuresFunctionsOverloads and templatesName visibility
Compound data typesArraysCharacter sequencesPointersDynamic MemoryData structuresOther data types
ClassesClasses (I)Classes (II)Special member
Program structureControl StructuresFunctionsOverloads and templatesName visibility
Compound data typesArraysCharacter sequencesPointersDynamic MemoryData structuresOther data types
ClassesClasses (I)Classes (II)Special member
mickey213:
Nu inteleg nimic
Alte întrebări interesante
Engleza,
8 ani în urmă
Engleza,
8 ani în urmă
Fizică,
9 ani în urmă
Istorie,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă