Congettura di Goldbach

Corso Online per Potenziare le Competenze Digitali

La congettura di Goldbach afferma che: ogni numero pari (maggiore di 2) è ottenibile come somma di due numeri primi.

Per esempio, 16 è la somma di 115, mentre 20 è la somma di 17 e 3.

Il vostro compito è quello di scrivere un programma che, letto un numero pari, stampi due numeri primi la cui somma corrisponda al numero letto.


Esempi di input/output

input.txt output.txt
16 3 13 (5 11)
20 3 17 (7 13)

Funzione primo():

  • se esiste y in [2, x-1] che divide x allora x non è primo
  • se non esiste y … allora x è primo

Main:

  • la prima coppia è (2, n-2)
  • il ciclo while scorre tutte le coppie (n1n2) con n1+n2=nn1 <= n2
  • se n1 è primo e n2 è primo allora stampa la coppia


Il ciclo while si interrompe, con break, quando viene individuata la prima coppia di numeri primi


La struttura del ciclo while può essere semplificata?


Il ciclo for della funzione primo() può essere reso più breve

Notice: This work is licensed under a BY-NC-SA. Permalink: Congettura di Goldbach

Comments are closed.