Lo scontrino sbagliato

Il forum di Base5, dove è possibile postare problemi, quiz, indovinelli, rompicapo, enigmi e quant'altro riguardi la matematica ricreativa e oltre.

Moderatori: Gianfranco, Bruno

Rispondi
franco
Livello 9
Livello 9
Messaggi: 1438
Iscritto il: mar dic 12, 2006 12:57 pm
Località: Bèrghem (Sardegna)

Lo scontrino sbagliato

Messaggio da franco »

Barbara è andata al negozio sotto casa per comprare quattro oggetti.
Alla cassa ha notato che la cassiera, un po' distratta, premeva ogni volta il tasto della moltiplicazione anziché quello dell'addizione.
Naturalmente, quando lei le ha chiesto il pagamento di 10,01 € ha fatto notare l'errore sullo scontrino e ne ha preteso uno nuovo.
La cassiera stavolta ha fatto tutto correttamente ma, con sorpresa di entrambe, il totale è risultato ancora una volta pari a 10,01 €.

Quale era il prezzo dei quattro oggetti?
Franco

ENGINEER
noun. (en-juh-neer)
someone who does precision guesswork based on unreliable data provided by those of questionable knowledge.
See also wizard, magician

Pasquale
Livello 12
Livello 12
Messaggi: 2853
Iscritto il: mer mag 25, 2005 2:14 am

Re: Lo scontrino sbagliato

Messaggio da Pasquale »

Considerato che la cassa arrotonda i risultati alla seconda cifra decimale, fra le tante soluzioni possibili, riporto quella più vicina al valore indicato:

1.05 x 1.13 x 1.29 x 6.54 = 10,01(0025)
1.05 + 1.13 + 1.29 + 6.54 = 10,01

Altre, tagliate alla terza cifra decimale per quanto riguarda il prodotto (per la somma non c'è arrotondamento):

0.46 1.55 2.60 5.40 p= 10.010
0.47 1.48 2.67 5.39 p= 10.010
0.48 1.42 2.73 5.38 p= 10.010
0.48 1.54 2.44 5.55 p= 10.010
0.48 1.55 2.42 5.56 p= 10.010
0.49 1.52 2.40 5.60 p= 10.010
0.50 1.45 2.47 5.59 p= 10.010
0.51 1.36 2.61 5.53 p= 10.010
0.53 1.24 2.80 5.44 p= 10.010
0.55 1.21 2.72 5.53 p= 10.010
0.57 1.22 2.53 5.69 p= 10.010
0.50 1.45 2.47 5.59 p= 10.010
0.51 1.36 2.61 5.53 p= 10.010
0.53 1.24 2.80 5.44 p= 10.010
0.55 1.21 2.72 5.53 p= 10.010
0.56 1.29 2.41 5.75 p= 10.010
0.57 1.17 2.69 5.58 p= 10.010
0.57 1.22 2.53 5.69 p= 10.010
0.58 1.15 2.68 5.60 p= 10.010
0.59 1.12 2.71 5.59 p= 10.010
0.61 1.13 2.53 5.74 p= 10.010
0.81 1.23 1.57 6.40 p= 10.010
0.86 1.26 1.43 6.46 p= 10.010
0.87 1.22 1.46 6.46 p= 10.010
0.92 1.24 1.35 6.50 p= 10.010
0.93 1.13 1.47 6.48 p= 10.010
0.93 1.20 1.38 6.50 p= 10.010
0.94 1.04 1.59 6.44 p= 10.010
0.94 1.09 1.51 6.47 p= 10.010
0.94 1.23 1.33 6.51 p= 10.010
0.96 1.08 1.49 6.48 p= 10.010
1.02 1.13 1.33 6.53 p= 10.010
1.02 1.22 1.23 6.54 p= 10.010
1.02 1.23 1.22 6.54 p= 10.010
1.04 0.94 1.59 6.44 p= 10.010
1.04 1.10 1.34 6.53 p= 10.010
1.08 0.96 1.49 6.48 p= 10.010
1.09 0.94 1.51 6.47 p= 10.010
1.10 1.04 1.34 6.53 p= 10.010
1.13 0.93 1.47 6.48 p= 10.010
1.13 1.02 1.33 6.53 p= 10.010
1.20 0.93 1.38 6.50 p= 10.010

Non ho trovato una soluzione col valore richiesto per il prodotto e la somma contemporaneamente, ma se esiste sarei curioso di conoscerla.
_________________

$\text { }$ciao Immagine ciao
E' la somma che fa il totale (Totò)

gnugnu
Livello 4
Livello 4
Messaggi: 147
Iscritto il: dom set 07, 2014 2:00 pm

Re: Lo scontrino sbagliato

Messaggio da gnugnu »

Ciao Pasquale,
come al solito, i nostri approcci sono diversi: tu preferisci utilizzare il computer, io carta e matita, ma i risultati coincidono, quasi sempre.
Partendo dal prodotto, che può essere fattorizzato in 7, 11, 13, a cui si possono aggiungere un numero uguale di 2 e 5, ed imponendo all'ultima cifra di essere 1, le migliori approssimazioni della somma che ho trovato sono:
$ 0.35+2.50+2.86+4=9.71 $,
$ 0.35+2+2.86+5=10.21 $.
In compenso esiste almeno una soluzione esatta con 5 oggetti:
$ 0.91+1+1.10+2+5=10.01 $.

panurgo
Livello 9
Livello 9
Messaggi: 1521
Iscritto il: sab nov 19, 2005 3:45 pm
Località: Padova

Re: Lo scontrino sbagliato

Messaggio da panurgo »

$\begin{array}{lCC}
0,40\,\times\,1,75\,\times\,2,86\,\times\,5,00\;=\,0,40\,+\,1,75\,+\,2,86\,+\,5,00\,=\,10,01 \\
0,70\,\times\,1,30\,\times\,1,76\,\times\,6,25\;=\,0,70\,+\,1,30\,+\,1,76\,+\,6,25\,=\,10,01
\end{array}$

:wink:
il panurgo

Principio di Relatività: $\mathbb{m} \not \to \mathbb{M} \, \Longleftrightarrow \, \mathbb{M} \not \to \mathbb{m}$
"Se la montagna non va a Maometto, Maometto NON va alla montagna"

gnugnu
Livello 4
Livello 4
Messaggi: 147
Iscritto il: dom set 07, 2014 2:00 pm

Re: Lo scontrino sbagliato

Messaggio da gnugnu »

Grazie panurgo, addirittura due soluzioni diverse!
Alla seconda non sarei mai arrivato: non ho provato con i fattori 2 e 5 che compaiono quattro volte. Invece la prima avrei dovuto trovarla.
Ciao

Pasquale
Livello 12
Livello 12
Messaggi: 2853
Iscritto il: mer mag 25, 2005 2:14 am

Re: Lo scontrino sbagliato

Messaggio da Pasquale »

A dire il vero, ho utilizzato in prima battuta carta e matita, quindi la calcolatrice tascabile ed alla fine il calcolatore per calcoli più veloci su un campo ristretto di ipotesi.
Far fare tutto al computer non era possibile; avrei dovuto attendere troppo tempo senza conoscere un risultato; assegnare ad ognuno dei 4 fattori tutti i centesimi possibili fra 1 e 1001, avrebbe significato far ripetere una routine al computer 10^12 volte (troppo). Se avessi preso questa strada, a parte il dispendio di tempo necessario (non saprei quanto), sarebbero venute fuori le soluzioni riportate da Panurgo, il che non è stato.

In prima battuta ho ragionato su 1001 centesimi e sui suoi divisori 1, 7, 11, 13, ma non mi portava a nulla per quanto riguarda la somma.
Poi son tornato a 10,01 col seguente ragionamento: Ax B = 10,01 in cui A è un fattore e B il prodotto di 3 fattori quali che siano.
Qui mi è servito il computer per velocizzare: dati vari valori ad A, trovare i B da moltiplicare per ottenere 10.01
Es: dato 1.1, 9.1 è il fattore che produce 10.01, ma la somma è 10,20

Quindi sono andato a lavorare sul 9.1, considerato come prodotto di 3 fattori.
Qui, considero nuovamente 9.1 come prodotto di AxB dove A rappresenta un fattore e B due fattori; trovo fra varie soluzioni A= 1.04 e B=8.75, ma la somma di 1.1+1.04+8.75 = 10.89 si allontana ancora di più dal valore desiderato.
Penso allora che se fosse possibile suddividere 8.75 nei restanti due fattori, in modo tale che la somma di questi ultimi
sia pari a 10.01-1.1-1.04 = 7.87 , allora avrei trovato quanto cercato.
I più vicini sono 1,4 e 6.25, talché 1.1*1.04*1.4*6.25 = 10.01, ma 1.1+1.04+1.4+6.25 = 9.79

Dunque valori da scartare e continuare la ricerca con altri valori.

Proseguendo per questa strada ho trovato valori tali che il prodotto era 10.01 e la somma 10.00; quindi ho affinato la ricerca nell’intorno dei 4 fattori che davano tale risultato.

In sostanza ho utilizzato il computer come una calcolatrice quasi a mano, considerata la strada di ricerca avviata, sulla quale ormai mi ero avviato.

Tutto quanto sopra riportato, allo scopo di esplicitare i ragionamenti che stanno alla base di un lavoro, esatti o errati che siano, semplici o complicati, alternativi o quant’altro, la qual cosa può tornare utile come scambio di idee, esperienze e conoscenze (poche le mie).

Dunque: allegria !

Per Gnugnu: non ho capito il procedimento seguito, relativamente ai fattori di 1001 e quanto brevemente illustrato dopo.
_________________

$\text { }$ciao Immagine ciao
E' la somma che fa il totale (Totò)

panurgo
Livello 9
Livello 9
Messaggi: 1521
Iscritto il: sab nov 19, 2005 3:45 pm
Località: Padova

Re: Lo scontrino sbagliato

Messaggio da panurgo »

Se noi esprimiamo i quattro prezzi in centesimi allora abbiamo

$\sum{\frac{p_{\small i}}{100}} \, = \, \prod{\frac{p_{\small i}}{100}} \, = \, 10,01$

ovvero

$\left\{
\begin{array}{lCC}
S \, = \, \sum{p_{\small i}} \, = \, 10^{\small 2 } \, \times \, 10,01 \\
P \, = \, \prod{p_{\small i}} \, = \, 10^{\small 8 } \, \times \, 10,01
\end{array}
\right.$

con $P \, = \, 2^6 \, \times \, 5^6 \, \times \, 7 \, \times \, 11 \, \times \, 13$.

$P$ deve essere scomposto in quattro fattori la cui somma sia $1001$ quindi, dei suoi divisori dobbiamo considerare solo quelli minori di $1000$: con questa restrizione è facile scrivere un programmino per testare le varie scomposizioni e trovare le due buone.

In R l’ho scritto così: una funzione che trova i fattori di un numero compresi tra un minimo e un massimo

Codice: Seleziona tutto

fFattori <- function (n,imin=1,imax=n) {

  fattori <- numeric(0)
  if (imin <= imax) for (i in (imin:imax)) if ((n %% i) == 0) fattori <- c(fattori,i)
  return (fattori)

}
e il corpo del programma in cui esploro solo i fattori via via possibili

Codice: Seleziona tutto

P <- 10.01*1e8
p <- numeric(0)              # -  soluzioni
q <- numeric(0)              # -  non-soluzioni

# -  i fattori di P minori di 1001

f1 <- fFattori(P,1,1001)
for (p1 in f1) {

# -  i fattori di P/p1 maggiori di p1 e minori di 1001 – p1

  f2 <- fFattori(P/p1,p1,1001 - p1)
  if (length(f2) > 0) for (p2 in f2) {

# -  i fattori ecc.

    f3 <- fFattori(P/p1/p2,p2,1001 - p1 - p2)
    if (length(f3) > 0) for (p3 in f3) {
      p4 <- P/p1/p2/p3
      if ((p4 >= p3) & (p4 <= 1001 - p1 - p2 - p3)) {
        print(c(p1,p2,p3,p4))

# -  se la somma dei quattro fattori è giusta aggiungo la soluzione

        if (p1 + p2 + p3 + p4 == 1001) p <- rbind(p,c(p1,p2,p3,p4)) else q <- rbind(q,c(p1,p2,p3,p4))

# -  altrimenti aggiungo la non-soluzione

      }
    }
  }
}

print(p/100)
La cosa da fare sarebbe di trovare le quadruple con un ragionamento “umano” (senza computer)
il panurgo

Principio di Relatività: $\mathbb{m} \not \to \mathbb{M} \, \Longleftrightarrow \, \mathbb{M} \not \to \mathbb{m}$
"Se la montagna non va a Maometto, Maometto NON va alla montagna"

franco
Livello 9
Livello 9
Messaggi: 1438
Iscritto il: mar dic 12, 2006 12:57 pm
Località: Bèrghem (Sardegna)

Re: Lo scontrino sbagliato

Messaggio da franco »

panurgo ha scritto:$\begin{array}{lCC}
0,40\,\times\,1,75\,\times\,2,86\,\times\,5,00\;=\,0,40\,+\,1,75\,+\,2,86\,+\,5,00\,=\,10,01 \\
0,70\,\times\,1,30\,\times\,1,76\,\times\,6,25\;=\,0,70\,+\,1,30\,+\,1,76\,+\,6,25\,=\,10,01
\end{array}$

:wink:
Complimenti, doppi!

Sul sito dal quale ho tradotto il problema (il solito), era data solo la prima soluzione e veniva indicata come "unica"

Ciao
Franco

ENGINEER
noun. (en-juh-neer)
someone who does precision guesswork based on unreliable data provided by those of questionable knowledge.
See also wizard, magician

panurgo
Livello 9
Livello 9
Messaggi: 1521
Iscritto il: sab nov 19, 2005 3:45 pm
Località: Padova

Re: Lo scontrino sbagliato

Messaggio da panurgo »

gnugnu ha scritto:In compenso esiste almeno una soluzione esatta con 5 oggetti:
$ 0.91+1+1.10+2+5=10.01 $.
Non è difficile adattare il mio programmino: con cinque prezzi si ottengono le soluzioni

$\begin{array}{cC}
0,40 & 1,25 & 2,00 & 2,86 & 3,50 \\
0,44 & 1,25 & 1,82 & 2,50 & 4,00 \\
0,50 & 1,00 & 1,76 & 3,25 & 3,50 \\
0,50 & 1,10 & 1,75 & 2,50 & 4,16 \\
0,50 & 1,25 & 1,40 & 2,86 & 4,00 \\
0,55 & 1,25 & 1,25 & 2,80 & 4,16 \\
0,56 & 1,25 & 1,30 & 2,50 & 4,40 \\
0,70 & 1,25 & 1,30 & 1,76 & 5,00 \\
0,91 & 1,00 & 1,10 & 2,00 & 5,00
\end{array}$

con sei prezzi le soluzioni

$\begin{array}{cC}
0,44 & 1,25 & 1,82 & 2,00 & 2,00 & 2,50 \\
0,50 & 1,25 & 1,40 & 1,76 & 2,50 & 2,60 \\
0,50 & 1,25 & 1,40 & 2,00 & 2,00 & 2,86 \\
0,52 & 1,25 & 1,25 & 2,00 & 2,24 & 2,75 \\
0,56 & 1,10 & 1,25 & 2,00 & 2,50 & 2,60 \\
0,56 & 1,25 & 1,25 & 1,60 & 2,60 & 2,75 \\
0,65 & 1,25 & 1,25 & 1,28 & 2,50 & 3,08 \\
0,65 & 1,25 & 1,25 & 1,60 & 1,76 & 3,50 \\
0,77 & 1,04 & 1,25 & 1,25 & 2,50 & 3,20
\end{array}$

mentre non ve ne sono con tre prezzi.
il panurgo

Principio di Relatività: $\mathbb{m} \not \to \mathbb{M} \, \Longleftrightarrow \, \mathbb{M} \not \to \mathbb{m}$
"Se la montagna non va a Maometto, Maometto NON va alla montagna"

Pasquale
Livello 12
Livello 12
Messaggi: 2853
Iscritto il: mer mag 25, 2005 2:14 am

Re: Lo scontrino sbagliato

Messaggio da Pasquale »

Facendo riferimento ad una delle soluzioni possibili, ad esempio:

0,40 + 1,75 + 2,86 + 5,00 = 10,01
0,40 x 1,75 x 2,86 x 5,00 = 10,01

nella quale gli addendi ed i fattori sono espressi in euro, è giusto pensare che in realtà i due risultati non sono uguali ? Se si, perché ? Se no, perché ?
_________________

$\text { }$ciao Immagine ciao
E' la somma che fa il totale (Totò)

gnugnu
Livello 4
Livello 4
Messaggi: 147
Iscritto il: dom set 07, 2014 2:00 pm

Re: Lo scontrino sbagliato

Messaggio da gnugnu »

Pasquale ha scritto:Per Gnugnu: non ho capito il procedimento seguito, relativamente ai fattori di 1001 e quanto brevemente illustrato dopo.
Ho scomposto 1001 in fattori primi 1001= 7 * 11 *13. Questi fattori non possono sparire, quindi scomponendo anche i prezzi dei quattro oggetti in fattori dovremo ritrovarli esattamente una volta. Potranno poi esserci dei fattori 2 e 5 che modificano un singolo prezzo, ma che dovranno essere complessivamente col medesimo esponente per non 'sporcare' il prodotto finale. Lavorando a mano non mi sono preoccupato di dove si posiziona la virgola decimale e mi sono concentrato sull'ultima cifra della somma che dovendo essere 1 limita abbastanza le possibili scelte.
Non capisco la tua ultima domanda. Non ci sono arrotondamenti, i due risultati coincidono.

Ciao

Pasquale
Livello 12
Livello 12
Messaggi: 2853
Iscritto il: mer mag 25, 2005 2:14 am

Re: Lo scontrino sbagliato

Messaggio da Pasquale »

Secondo me sembrano uguali e non v'è dubbio che il risultato della somma sia 10,01 euro, ma quello del prodotto è 10,01 cosa?

$\text euro^4 ?$

Se trasformo in centesimi i 10,01 euro, ottengo 1001 centesimi e se trasformo in centesimi anche i singoli addendi della somma ottengo:

40c. + 175c. + 286c. + 500c. = 1001 c. (come è giusto che sia)

invece:

40 x 175 x 286 x 500 = 1.001.000.000 cosa? (se fossero centesimi dovrebbero essere 1001)

Dunque, lasciando tutto in euro, il risultato del prodotto sembra uguale a quello della somma, ma in realtà confrontiamo mele con pere (almeno così penso che sia).

Naturalmente nulla viene tolto al gioco numerico dello scontrino, ma si tratta di una particolarità che è mi è accaduto di osservare, dalla quale scaturisce la seguente routine di ricerca, senza filtri, che essendo peraltro concepita in Decimal Basic è anche lenta ed impraticabile (10^12 ripetizioni):

for a= 1 to 1001
for b=1 to 1001
for c=1 to 1001
for d=1 to 1001
if a+b+c+d=1001 and a*b*c*d=1001*10^6 then print a;b;c;d
next
next
next
next
END
_________________

$\text { }$ciao Immagine ciao
E' la somma che fa il totale (Totò)

franco
Livello 9
Livello 9
Messaggi: 1438
Iscritto il: mar dic 12, 2006 12:57 pm
Località: Bèrghem (Sardegna)

Re: Lo scontrino sbagliato

Messaggio da franco »

Non sono tanto pratico di decimal basic ma se dovessi scrivere una routine simile, che usa solo la "forza bruta", credo che la farei un poco diversa:

for a=1 to 998
for b=1 to 999-a
for c=1 to 1000-a-b
d=1001-a-b-c
if a*b*c*d=1001*10^6 then print a;b;c;d
next
next
next
END

Almeno escludo tutte le quaterne che non sommano 10.01 euro. :)

ciao
Franco

ENGINEER
noun. (en-juh-neer)
someone who does precision guesswork based on unreliable data provided by those of questionable knowledge.
See also wizard, magician

Alessandro
Livello 3
Livello 3
Messaggi: 51
Iscritto il: dom gen 13, 2013 9:58 am

Re: Lo scontrino sbagliato

Messaggio da Alessandro »

Propongo questo ulteriore miglioramento del programma in DECIMAL BASIC:

for a=1 to 998
for b=a to 999-a
for c=b to 1000-a-b
d=1001-a-b-c
if a*b*c*d=1001*10^6 then print a;b;c;d
next
next
next
END

Questo miglioramento mi pare che riduca i tempi di esecuzione a valori accettabili :D

Pasquale
Livello 12
Livello 12
Messaggi: 2853
Iscritto il: mer mag 25, 2005 2:14 am

Re: Lo scontrino sbagliato

Messaggio da Pasquale »

Si va bene, l'ho detto che era una routine senza filtri, buttata lì, perché ormai il problema era già stato risolto. Serviva solo per mettere in evidenza la questione dell'apparente eguaglianza fra prodotto e somma.
_________________

$\text { }$ciao Immagine ciao
E' la somma che fa il totale (Totò)

Rispondi