STEAM + HEAT = NIGHTS
Ogni lettera corrisponde a una cifra diversa.
La cifra 4 non è utilizzata.
T è il triplo di G.
Quali sono gli addendi?
Spiegare anche il procedimento.
Me lo ha passato un amico dagli USA. Non so se è un classico.
Non vale sottoporlo a una IA. Una volta risolto potremmo metterla alla prova, e soprattutto chiederle come farebbe (brute force o...).
Vapore più calore dà...
Moderatore:
carlomariamanenti
8 messaggi
• Pagina 1 di 1
0
voti
Big fan of ⋮ƎlectroYou! Ausili per disabili e anziani su ⋮ƎlectroYou
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
0
voti
solo per chiarezza, i numeri possono anche presentare uno 0 in testa, oppure no ? (per escludere che S, H ed N possano essere zeri)
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
-

Etemenanki
9.507 3 6 10 - Master

- Messaggi: 5938
- Iscritto il: 2 apr 2021, 23:42
- Località: Dalle parti di un grande lago ... :)
2
voti
Io l'ho risolto così:
Non so se esiste una vera e propria regola, ma intuitivamente e anche provando con valori "al limite" verifico facilmente che: se ho un numero di cinque cifre, sommato con uno a quattro cifre e il risultato ne ha sei... la prima cifra del numero con cinque cifre è 9 e la prima cifra della somma è 1.
S=9
N=1
Se la T è il triplo di G e T deve avere una sola cifra, le combinazioni possibili di G,T sono
1,3 - 2,6 - 3,9
la prima e l'ultima sono scartate perché ho già usato 1 e 9. quindi resta solo la combinazione 2,6:
G=2
T=6
la M si trova per differenza e vale: 9-6
M=3
vedo che la A, sommata due volte, dà 6 e quindi si potrebbe pensare A=3, ma così non può essere perché il 3 è già stato usato, quindi... o ho sbagliato qualcosa prima oppure il 6 deve derivare dalla cifra delle unità di un 16, anche se non era chiaro nel testo che si potesse fare questo giochetto. Ad ogni modo, 16/2:
A=8
la E sommata due volte dà un numero pari, ma H non può essere pari, perché ho il riporto di 1 del 16 di cui sopra. Quindi so che H è sicuramente dispari e non può che essere 5 oppure 7 (1,3 e 9 già usati).
Inoltre, anche qui, H è sicuramente parte di un numero a 2 cifre (15 o 17), perché se fosse ad una cifra sola (5 o 7) vorrebbe dire che E dovrebbe essere 2 o 3 (2+2+riporto o 3+3+riporto), ma entrambi già usati.
Quindi, per ottenere la E, tolgo il riporto da 15 o 17 e divido per 2: ottenendo i possibili valori: 7 oppure 8. Scartiamo 8 perché già usato, quindi
E=7
di conseguenza ricaviamo subito H, che vale 5 (in realtà 15, 7+7+1 di riporto)
H=5
Eseguendo la somma degli addendi, ormai "in chiaro", si vede facilmente che:
I=0
ma ci sarei anche arrivato per esclusione, avendo usato tutte le cifre tranne 0 e 4.
Bravo
EcoTan!
Grazie
GuidoB, mi sono divertito!
Ah, chatgpt non lo fa (almeno nella versione senza registrazione), ma ti scrive un programma in python che va per tentativi, pesando ogni lettera in base alla posizione...
che curiosamente trova questa soluzione:
...ma non ho tempo ora di capire perché sbaglia

- Codice: Seleziona tutto
STEAM+HEAT=NIGHTS
Non so se esiste una vera e propria regola, ma intuitivamente e anche provando con valori "al limite" verifico facilmente che: se ho un numero di cinque cifre, sommato con uno a quattro cifre e il risultato ne ha sei... la prima cifra del numero con cinque cifre è 9 e la prima cifra della somma è 1.
S=9
N=1
- Codice: Seleziona tutto
9TEAM+HEAT=1IGHT9
Se la T è il triplo di G e T deve avere una sola cifra, le combinazioni possibili di G,T sono
1,3 - 2,6 - 3,9
la prima e l'ultima sono scartate perché ho già usato 1 e 9. quindi resta solo la combinazione 2,6:
G=2
T=6
- Codice: Seleziona tutto
96EAM+HEA6=1I2H69
la M si trova per differenza e vale: 9-6
M=3
- Codice: Seleziona tutto
96EA3+HEA6=1I2H69
vedo che la A, sommata due volte, dà 6 e quindi si potrebbe pensare A=3, ma così non può essere perché il 3 è già stato usato, quindi... o ho sbagliato qualcosa prima oppure il 6 deve derivare dalla cifra delle unità di un 16, anche se non era chiaro nel testo che si potesse fare questo giochetto. Ad ogni modo, 16/2:
A=8
- Codice: Seleziona tutto
96E83+HE86=1I2H69
la E sommata due volte dà un numero pari, ma H non può essere pari, perché ho il riporto di 1 del 16 di cui sopra. Quindi so che H è sicuramente dispari e non può che essere 5 oppure 7 (1,3 e 9 già usati).
Inoltre, anche qui, H è sicuramente parte di un numero a 2 cifre (15 o 17), perché se fosse ad una cifra sola (5 o 7) vorrebbe dire che E dovrebbe essere 2 o 3 (2+2+riporto o 3+3+riporto), ma entrambi già usati.
Quindi, per ottenere la E, tolgo il riporto da 15 o 17 e divido per 2: ottenendo i possibili valori: 7 oppure 8. Scartiamo 8 perché già usato, quindi
E=7
di conseguenza ricaviamo subito H, che vale 5 (in realtà 15, 7+7+1 di riporto)
H=5
- Codice: Seleziona tutto
96783+5786=1I2569
Eseguendo la somma degli addendi, ormai "in chiaro", si vede facilmente che:
I=0
ma ci sarei anche arrivato per esclusione, avendo usato tutte le cifre tranne 0 e 4.
- Codice: Seleziona tutto
96783+5786=102569
Bravo
Grazie
Ah, chatgpt non lo fa (almeno nella versione senza registrazione), ma ti scrive un programma in python che va per tentativi, pesando ogni lettera in base alla posizione...
- Codice: Seleziona tutto
from itertools import permutations
# Definiamo le lettere e la condizione che la cifra 4 non è utilizzata
letters = "STEAMHEATNIGHTS"
digits = [0, 1, 2, 3, 5, 6, 7, 8, 9] # escludiamo il 4
solutions = []
# Proviamo tutte le permutazioni delle cifre disponibili
for perm in permutations(digits, len(set(letters))): # lunghezza unica di lettere
letter_to_digit = dict(zip(set(letters), perm))
# Assegniamo i valori alle lettere
S = letter_to_digit['S']
T = letter_to_digit['T']
E = letter_to_digit['E']
A = letter_to_digit['A']
M = letter_to_digit['M']
H = letter_to_digit['H']
N = letter_to_digit['N']
I = letter_to_digit['I']
G = letter_to_digit['G']
N2 = letter_to_digit['N'] # Ripetizione di N
G2 = letter_to_digit['G'] # Ripetizione di G
# Verifica che T sia il triplo di G
if T != 3 * G:
continue
# Calcoliamo i numeri
STEAM = S * 10000 + T * 1000 + E * 100 + A * 10 + M
HEAT = H * 1000 + E * 100 + A * 10 + T
NIGHTS = N * 10000 + I * 1000 + G * 100 + H * 10 + T * 1
# Verifica l'equazione
if STEAM + HEAT == NIGHTS:
solutions.append((letter_to_digit, STEAM, HEAT, NIGHTS))
solutions
che curiosamente trova questa soluzione:
- Codice: Seleziona tutto
[({'S': 6, 'N': 7, 'A': 9, 'E': 5, 'G': 1, 'T': 3, 'M': 0, 'I': 2, 'H': 8}, 63590, 8593, 72183)]
...ma non ho tempo ora di capire perché sbaglia

in /dev/null no one can hear you scream
0
voti
Etemenanki ha scritto:solo per chiarezza, i numeri possono anche presentare uno 0 in testa, oppure no ? (per escludere che S, H ed N possano essere zeri)
S è sicuramente diverso da 0. Se S fosse 0 allora I = 1 (a causa del riporto) e N = 0, che è impossibile dato che sarebbe già S = 0 (ogni lettera deve corrispondere a una cifra diversa).
Con N = 0 o H = 0 potrebbero non esserci soluzioni, o forse sì, anche più d'una...
Non riesco ora a trovare una contraddizione per escludere queste possibilità.
Però andrebbe a farsi friggere il primo importante passo della risoluzione "canonica"... quindi per semplificare la vita a noi umani, dico di no. Comunque sarebbe interessante trovare una soluzione con N = 0 o H = 0, sempre che esista.
Bravo
Bravo
Si potrebbe dire che I = 0 già al primo passo, perché 9 + 1 = 10.
1 è il riporto, che al sommare due numeri può essere al massimo 1. Infatti, nel caso più estremo:
Sommare 9 + 9 + il riporto di 1 dà 19 (e quindi 9 col riporto di 1, cerchiato in blu).
E chatgpt sceglie la forza bruta (sono 9! = 362880 permutazioni). Interessante (anche se poi sbaglia il programma).
Big fan of ⋮ƎlectroYou! Ausili per disabili e anziani su ⋮ƎlectroYou
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
0
voti
Un errore nel programma è qui:
Dovrebbe essere:
Chissà perché dichiara inutilmente N2 e G2.
Comunque, impressionante.
- Codice: Seleziona tutto
NIGHTS = N * 10000 + I * 1000 + G * 100 + H * 10 + T * 1
Dovrebbe essere:
- Codice: Seleziona tutto
NIGHTS = N * 100000 + I * 10000 + G * 1000 + H * 100 + T * 10 + S * 1
Chissà perché dichiara inutilmente N2 e G2.
Comunque, impressionante.
Big fan of ⋮ƎlectroYou! Ausili per disabili e anziani su ⋮ƎlectroYou
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
1
voti
Con la modifica, trova (velocemente) la soluzione corretta
Non so come mai si è perso quella S finale
Qualche prof direbbe che è un errore di distrazione
- Codice: Seleziona tutto
[...]
... # Calcoliamo i numeri
... STEAM = S * 10000 + T * 1000 + E * 100 + A * 10 + M
... HEAT = H * 1000 + E * 100 + A * 10 + T
... NIGHTS = N * 100000 + I * 10000 + G * 1000 + H * 100 + T * 10 + S
...
... # Verifica l'equazione
... if STEAM + HEAT == NIGHTS:
... solutions.append((letter_to_digit, STEAM, HEAT, NIGHTS))
...
... solutions
...
[({'S': 9, 'N': 1, 'A': 8, 'E': 7, 'G': 2, 'T': 6, 'M': 3, 'I': 0, 'H': 5}, 96783, 5786, 102569)]
Non so come mai si è perso quella S finale
Qualche prof direbbe che è un errore di distrazione
in /dev/null no one can hear you scream
8 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 4 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)






