Esame di Stato 2014 – Quesito 5
Dei numeri 1,2,3,…,6000, quanti non sono divisibili né per 2, né per 3, né per 5?
Soluzione 1
Conta i numeri che superano il test di NON divisibilità per 2, 3 e 5
1 2 3 4 5 6 7 8 |
N=6000 soluzione=0 for n in range(1, N+1): if(n%2 != 0) and (n%3 != 0) and (n%5 != 0): # 1.600 soluzione += 1 print("Soluzione:", soluzione) |
Soluzione 2
Conta i multipli di 2 oppure 3 oppure 5 e li sottrae
1 2 3 4 5 6 7 8 9 10 11 |
N=6000 m2m3m5=0 for n in range(1, N+1): if(n%2 == 0) or (n%3 == 0) or (n%5 == 0): # 4.400 m2m3m5+=1 soluzione=N-m2m3m5 # 1.600 print("Multipli di 2,3,5:", m2m3m5 ) print("Soluzione :", soluzione) |
Soluzione 3
Segue lo stesso schema della discussione “matematica”
- conta i multipli di 2, 3, 5, 6, 10, 15, 30
- fa il calcolo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
N=6000 m2=m3=m5=m6=m10=m15=m30=0 for n in range(1, N+1): if(n%2 == 0): m2 +=1 # 3.000 if(n%3 == 0): m3 +=1 # 2.000 if(n%5 == 0): m5 +=1 # 1.200 if(n%6 == 0): m6 +=1 # 1.000 if(n%10 == 0): m10+=1 # 600 if(n%15 == 0): m15+=1 # 400 if(n%30 == 0): m30+=1 # 200 soluzione=N-m2-(m3-m6)-(m5-m10-(m15-m30)) # 1.600 print("Multipli di 2:", m2 ) print("Multipli di 3:", m3 ) print("Multipli di 5:", m5 ) print("Multipli di 6:", m6 ) print("Multipli di 10:", m10 ) print("Multipli di 15:", m15 ) print("Multipli di 30:", m30 ) print("Soluzione :", soluzione) |