Cerința
Marinel a învăţat la şcoală despre divizibilitatea numerelor naturale. Un număr natural nenul a
este divizor al numărului natural nenul b
dacă restul împărţirii lui b
la a
este 0
. De exemplu, numărul 3 este divizor al lui 12 iar numărul 4 nu este divizor al lui 15. Un număr natural nenul n
este număr prim
dacă are doar 2
divizori: 1
şi n
. De exemplu, numărul 7 este număr prim deoarece îi are ca divizori doar pe 1 şi 7 iar numărul 21 nu este număr prim deoarece îi are ca divizori pe 1, 3, 7 şi 21. Scrieţi un program care să îl ajute pe Marinel să îşi verifice tema primită pentru acasă.
Fiind date numărul n al numerelor din şir şi numerele din şir, să se determine:
1) divizorii celui mai mare număr din şir, inclusiv 1 şi el însuşi;
2) numerele prime din şir;
3) numerele care sunt divizori ai tuturor numerelor din şir.
Date de intrare
Fişierul de intrare divizori2.in
conține pe prima linie un număr natural P
, pe a doua linie un număr natural n
reprezentând numărul de numere din şir şi pe a treia linie cele n
numere naturale din şir, separate prin spaţii.
Date de ieșire
Dacă valoarea lui P
este 1
, se va rezolva numai punctul 1) din cerinţă:
fişierul divizori2.out
va conţine pe prima linie doar divizorii celui mai mare număr din şir.
Dacă valoarea lui P
este 2
, se va rezolva doar punctul 2) din cerinţă:
fişierul divizori2.out
va conţine pe prima linie doar numerele prime din şir sau numărul -1 dacă şirul nu conţine numere prime.
Dacă valoarea lui P
este 3
, se va rezolva numai punctul 3) din cerinţă:
fişierul divizori2.out
va conţine pe prima linie doar numerele care sunt divizori ai tuturor numerelor din şir.
Restricții și precizări
- valoarea lui P poate să fie doar 1 sau 2 sau 3;
- numărul natural n este cuprins între 2 şi 1000;
- numerele din şir sunt numere naturale nenule cu cel mult 6 cifre;
- pentru rezolvarea corectă a primei cerinţe se acordă 30 de puncte;
- pentru rezolvarea corectă a celei de-a doua cerinţe se acordă 30 de puncte;
- pentru rezolvarea corectă a celei de-a treia cerinţe se acordă 40 de puncte;
Exemplu1:
divizori2.in
1 7 12 18 8 4 13 6 17
divizori2.out
1 2 3 6 9 18
Explicație
P=1 deci se rezolvă prima cerinţă.
Cel mai mare număr din şir este 18.
Divizorii numărului 18 sunt 1, 2, 3, 6, 9 şi 18.
Exemplu2:
divizori2.in
2 7 12 18 8 4 13 6 17
divizori2.out
13 17
Explicație
P=2 deci se rezolvă a doua cerinţă.
Numerele prime din şir sunt 13 şi 17.
Exemplu3:
divizori2.in
2 7 12 18 8 4 12 6 15
divizori2.out
-1
Explicație
P=2 deci se rezolvă a doua cerinţă.
Nu sunt numere prime în şir.
Exemplu4:
divizori2.in
3 4 70 42 21 35
divizori2.out
1 7
Explicație
P=3 deci se rezolvă a treia cerinţă.
Divizorii lui 70 sunt 1
, 2, 5, 7
, 10, 14, 35 şi 70.
Divizorii lui 42 sunt 1
, 2, 3, 6, 7
, 14, 21 şi 42.
Divizorii lui 21 sunt 1
, 3, 7
şi 21.
Divizorii lui 35 sunt 1
, 5, 7
şi 35.
Numerele care sunt divizori ai tuturor numerelor din şir sunt 1
şi 7
.