Equazione simpatica

giannirecanati
Detta \(\displaystyle d(n) \) la somma delle cifre di \(\displaystyle n \), trovare tutti gli \(\displaystyle n\in \mathbb{N} \) tali che siano soluzione dell'equazione:
\(\displaystyle n+d(n)+d(d(n))=1997 \)

Risposte
Shulz1
"giannirecanati":
Detta \(\displaystyle d(n) \) la somma delle cifre di \(\displaystyle n \), trovare tutti gli \(\displaystyle n\in \mathbb{N} \) tali che siano soluzione dell'equazione:
\(\displaystyle n+d(n)+d(d(n))=1997 \)


Ciao, e' possibile che non ci siano soluzioni?
Io ho provato a risolvere il problema tramite la programmazione (probabilmente l'obiettivo non era quello però ho provato giusto per divertirmi un po' :D)

Il fatto è che non riesco a capire se ho interpretato male la consegna del problema, o invece non ci sono numeri che soddisfino l'equazione.

Saluti,
Shulz

milizia96
Penso che si riesca considerando le congruenze modulo 9...
Vale infatti che $n\equiv d(n) \quad (\text{mod }9)\quad$ quindi passo all'equazione
$3n\equiv 8 \quad (\text{mod }9)$
e anche provando a mano con $0\le n\le 8$ si vede che non può mai accadere; in pratica l'equazione non ha soluzioni.

Shulz1
"milizia96":
Penso che si riesca considerando le congruenze modulo 9...
Vale infatti che $n\equiv d(n) \quad (\text{mod }9)\quad$ quindi passo all'equazione
$3n\equiv 8 \quad (\text{mod }9)$
e anche provando a mano con $0\le n\le 8$ si vede che non può mai accadere; in pratica l'equazione non ha soluzioni.

Perfetto, grazie!

Nel caso qualcuno volesse la soluzione con lo script (Python):
#!/usr/bin/python

def d(n):
    return sum(map(int,str(n)))

def is_valid(n):
    return (n + d(n) + d(d(n)) - 1997) == 0

if __name__ == '__main__':
    result = filter(is_valid, range(0,1997))
    print result

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.