lista = [i for i in range(1,101)]

# Crivello di Eratostene: i numeri non primi vengono sostituiti con uno zero
lista[0] = 0
for i in range(1,101): # sarebbe sufficiente usare range(1,51)
	if lista[i-1] != 0:
		j = 2
		while (i * j) <= 100:
			lista[i*j - 1] = 0
			j += 1

# rimozione degli zeri
nuova_lista = []
for x in lista:
	if x != 0:
		nuova_lista.append(x)
		
# test della Congettura di Goldbach
controllo = 0 # variabile che controlla che la congettura sia vera per ogni numero pari tra 4 e 100
for i in range(4, 101,2):
	j = 0
	check = 0 # variabile che controlla che per il numero i esista almeno una scomposizione
	while (j < len(nuova_lista)) and (nuova_lista[j] <= i): 
		j += 1
	for k in range(j): # questo ciclo controlla tutte le possibili somme di due numeri primi
		for h in range(j):
			if (nuova_lista[k] + nuova_lista[h] == i):
				print i, " = ", nuova_lista[k], " + ",nuova_lista[h]
				check = 1
	if check == 1: # se esiste almeno una scrittura del numero i come somma di due primi, allora controllo viene incrementato
		controllo += 1

if controllo < 49:
	print "La congettura e' falsa!"