Eu sunt fascinată de numerele prime. Consider că numerele prime sunt “scheletul” tuturor numerelor sau “atomii” acestora, pentru că orice număr natural mai mare decât poate fi scris ca un produs de numere prime. Recent am aflat și alte proprietăți interesante legate de numerele prime, de exemplu:
- În șirul Fibonacci există o infinitate de numere prime. Vă mai amintiți șirul Fibonacci? , , , , , , , , Este șirul în care fiecare termen, exceptând primii doi, se obține ca suma celor doi termeni care îl precedă.
- Există numere naturale denumite „economice”. Un număr natural este economic dacă numărul de cifre necesare pentru scrierea sa este mai mare decât numărul de cifre necesare pentru scrierea descompunerii sale în factori primi (adică decât numărul de cifre necesare pentru scrierea factorilor primi și a puterilor acestora). De exemplu este economic pentru că se scrie cu cifre, iar descompunerea sa în factori primi se scrie cu două cifre ; este economic pentru că se scrie cu cifre, în timp ce descompunerea sa în factori primi se scrie cu cifre . Observați că atunci când un factor prim apare la puterea , aceasta nu este necesar să fie scrisă.
- Multe numere naturale pot fi scrise ca sumă de două numere prime. Dar nu toate. De exemplu, nu poate fi scris ca sumă de două numere prime.
Cerinţă
Scrieţi un program care citeşte numărul natural şi o secvenţă de numere naturale, apoi rezolvă următoarele cerinţe:
- determină şi afişează câte dintre numerele din secvenţa dată sunt numere prime din şirul Fibonacci;
- determină şi afişează câte dintre numerele din secvenţa dată sunt numere economice;
- determină şi afişează câte dintre numerele din secvenţa dată nu pot fi scrise ca sumă de două numere prime.
Date de intrare
Fişierul de intrare prime.in
conţine pe prima linie un număr natural care reprezintă cerinţa (, sau ). Pe a doua linie se află numărul natural . Pe a treia linie se află o secvenţă de numere naturale separate prin spaţii.
Date de ieșire
Fişierul de ieşire prime.out
va conţine o singură linie pe care va fi scris răspunsul la cerinţa din fişierul de intrare.
Restricții și precizări
- ;
- Daca sau numerele naturale din şir sunt mai mari decât şi mai mici decât ;
- Daca numerele naturale din şir sunt mai mari decât şi mai mici decât ;
- Pentru rezolvarea corectă a cerinţei se acordă de puncte;
- Pentru rezolvarea corectă a cerinţei se acordă de puncte;
- Iar pentru rezolvarea corectă a cerinţei se acordă de puncte.
Exemplul 1
prime.in
1
5
2 10 13 997 233
prime.out
3
Explicație
Cerinţa este . Cele numere prime din şirul Fibonacci existente în secvenţă sunt , şi .
Exemplul 2
prime.in
2
4
128 25 4374 720
prime.out
2
Explicație
Cerinţa este . Succesiunea conţine două numere economice ( şi ).
Exemplul 3
prime.in
3
5
57 30 121 11 3
prime.out
4
Explicație
Cerinţa este . Sunt numere naturale din secvenţă care nu pot fi scrise ca sumă de două numere prime: , , , .