Cifra divide cifra

Kangarou della Matematica 2013

Quanti sono i numeri (positivi) di tre cifre (significative) abc tali che a sia divisibile per b e b sia divisibile per c?

Vedi la discussione

Soluzione 1

Per ciascun numero da 100 a 999

  1. Si individuano le singole cifre di un numero
  2. Se le cifre superano il controllo il numero viene conteggiato
  3. Facoltativo: il numero che supera il controllo viene visualizzato
conto = 0
for n in range(100, 1000):
    a = n//100              # centinaia
    b = (n//10)%10          # decine
    c = n%10                # unità
 
    if(b != 0) and (a%b == 0) and (c != 0) and (b%c == 0):
        print(n, end=" ")   # visualizza
        conto += 1          # conteggia
print()
print(conto)

Soluzione 2

Per ciascuna tripla di cifre da 1 a 9

  1. Se le triple di cifre superano il controllo si conteggia il numero
  2. Facoltativo: il numero che supera il controllo viene visualizzato affiancando le cifre…
conto = 0
for a in range(1,10):
    for b in range(1,10):
        for c in range(1,10):
            if(a%b == 0) and (b%c == 0):
                print(a, b, c, sep="", end=" ")
                conto += 1
print()
print(conto)