Numero semiprimo

Gemma ha appena imparato che cos’è un numero semiprimo, e presa dall’euforia non riesce a smettere di parlarne.
In particolare, un numero semiprimo è un intero ≥2 che si fattorizza come prodotto di due numeri primi (non necessariamente distinti).

I numeri primi sono tutti quegli interi ≥2 divisibili solo per se stessi e per 1.

Sono quindi esempi di numeri semiprimi i numeri:

  • 15, prodotto di 3 e 5.
  • 169, prodotto di 13 e 13.

Aiuta Gemma a scrivere un programma che verifichi se un numero N è semiprimo oppure no!

Dati di input

Il file input.txt contiene l’unico intero N, di cui Gemma vuole verificare la semiprimalità.

Dati di output

Il file output.txt contiene:

  • I due primi che fattorizzano N, stampati su un’unica riga, in ordine non-decrescente, se N è semiprimo.
  • L’unico intero −1 se N non è semiprimo.

Assunzioni

  • 2 ≤ N ≤ 1000000.

Esempi di input/output

input.txt output.txt
961 31 31
884053 101 8753
16 -1

Note

  • Per chi usa Pascal: è richiesto che si utilizzi sempre il tipo di dato longint al posto di integer.
  • Un programma che stampa lo stesso output indipendentemente dal file di input non totalizza alcun punteggio.

Notice: This work is licensed under a BY-NC-SA. Permalink: Numero semiprimo

Comments are closed.