6 svar
420 visningar
delz 50
Postad: 30 aug 2018 16:58 Redigerad: 30 aug 2018 18:25

två tal ger ett tredje

jag har tre tal där de två första talen ska resultera i de tredje talet. Man kan använda de 4 räknesätten +, -,*,/.

Ex: 123 -> 1+2 = 3

siffrorna är mellan 0-9

frågan är: hur många gånger kan de två siffrorna ge den tredje siffran?

svaret är 152 men jag har ingen aning hur det blir så. Jag har ingen aning hur jag börjar.

SeriousCephalopod 2696
Postad: 30 aug 2018 17:18 Redigerad: 30 aug 2018 17:30

Så du har något i stil med :

xy=zx \square y = z

där x,y,z kan vara ickenegativa ensiffriga heltal och \square ska vara någon av de aritmetiska operationerna? (Det måste finnas begräsningar på talen annars finns oändligt många kombinationer. 

Ja jag skulle säga att du i praktiken helt enkellt bör försöka lista alla möjliga kombinationer snarare.

En strategi: Tabulering.

Konstruera tabeller med x och y värdena och se hur många olika z-värden du kan få med de olika operationerna.

Ta exempelvis en vanlig multiplikationstabell

(behöver addera en rad och kolumn för 0)

Här motsvarar varje ruta med en ensiffrigt tal ett sätt att fylla i mönstret x×y=zx \times y = z exempelvis en av rutorna med 6 motsvar 2×3=62 \times 3 = 6. Antalet lösningar till x×y=zx \times y= z kommer motsvaras av antal rutor med ensiffriga tal så hur många är de?

Sedan kan man göra motsvarande tabeller för addition, subtraktion, och division. Som du förmodligen märker rätt så snabbt så behöver du inte fylla i hela tabellen utan du kan kanske räkna ut antalet ensiffriga-talrutor via mönster.

Kan du programmera kan detta även göras med några for-loopar.

Smaragdalena 80504 – Avstängd
Postad: 30 aug 2018 17:19

Jag kommer inte på något smartare sätt än brute force. Här börjar jag på några tal med addition.

011, 022,033,...,099             10 st

101,202, 303,...,909               10 st

112, 123, 134,...,189               9 st

213, 224, 235,...,279               7 st

och så vidare

Yngve 40561 – Livehjälpare
Postad: 30 aug 2018 17:20 Redigerad: 30 aug 2018 17:25
delz skrev:

jag har tre tal där de två första talen ska resultera i de tredje talet. Man kan använda de 4 räknesätten +, -,*,/.

Ex: 123 -> 1+2 = 3

siffrorna är mellan 0-9

frågan är: hur många gånger kan de två siffrorna ge den tredje siffran?

svaret är 152 men jag har ingen aning hur det blir så. Jag har ingen aning hur jag börjar.

Frågan är otydligt formulerad.

Är till exempel 000 OK?

Om ja, ska vi räkna både 000 (0+0=0), 000 (0-0=0) och 000 (0*0=0)?

Det vore bra om du kunde skriva av uppgiften ord för ord, eller ännu hellre, ladda upp en bild på den.

--------

Tips: Ta ett räknesätt i taget.

Exempel addition:

000, dvs 0 + 0 = 0

011, dvs 0 + 1 = 1 

101, dvs 1 + 0 = 1

022, dvs 0 + 2 = 2

202, dvs 2 + 0 = 2

och så vidare ...

Exempel division:

020, dvs 0/2 = 0

221, dvs 2/2 = 1

och så vidare ...

delz 50
Postad: 30 aug 2018 18:04
SeriousCephalopod skrev:

Så du har något i stil med :

xy=zx \square y = z

där x,y,z kan vara ickenegativa ensiffriga heltal och \square ska vara någon av de aritmetiska operationerna? (Det måste finnas begräsningar på talen annars finns oändligt många kombinationer. 

Ja jag skulle säga att du i praktiken helt enkellt bör försöka lista alla möjliga kombinationer snarare.

En strategi: Tabulering.

Konstruera tabeller med x och y värdena och se hur många olika z-värden du kan få med de olika operationerna.

Ta exempelvis en vanlig multiplikationstabell

(behöver addera en rad och kolumn för 0)

Här motsvarar varje ruta med en ensiffrigt tal ett sätt att fylla i mönstret x×y=zx \times y = z exempelvis en av rutorna med 6 motsvar 2×3=62 \times 3 = 6. Antalet lösningar till x×y=zx \times y= z kommer motsvaras av antal rutor med ensiffriga tal så hur många är de?

Sedan kan man göra motsvarande tabeller för addition, subtraktion, och division. Som du förmodligen märker rätt så snabbt så behöver du inte fylla i hela tabellen utan du kan kanske räkna ut antalet ensiffriga-talrutor via mönster.

Kan du programmera kan detta även göras med några for-loopar.

 Hur skulle jag programmera detta isåfall?

delz 50
Postad: 30 aug 2018 18:05
Yngve skrev:
delz skrev:

jag har tre tal där de två första talen ska resultera i de tredje talet. Man kan använda de 4 räknesätten +, -,*,/.

Ex: 123 -> 1+2 = 3

siffrorna är mellan 0-9

frågan är: hur många gånger kan de två siffrorna ge den tredje siffran?

svaret är 152 men jag har ingen aning hur det blir så. Jag har ingen aning hur jag börjar.

Frågan är otydligt formulerad.

Är till exempel 000 OK?

Om ja, ska vi räkna både 000 (0+0=0), 000 (0-0=0) och 000 (0*0=0)?

Det vore bra om du kunde skriva av uppgiften ord för ord, eller ännu hellre, ladda upp en bild på den.

--------

Tips: Ta ett räknesätt i taget.

Exempel addition:

000, dvs 0 + 0 = 0

011, dvs 0 + 1 = 1 

101, dvs 1 + 0 = 1

022, dvs 0 + 2 = 2

202, dvs 2 + 0 = 2

och så vidare ...

Exempel division:

020, dvs 0/2 = 0

221, dvs 2/2 = 1

och så vidare ...

 

 Jag skrev exakt som det var skrivet. 
Svaret blir:152 

och det kan vara omöjligt att jag ska räkna tills det har blivit 152 möjliga svar. så det funkar ej med brute force.

Hur skulle jag man kunna lösa detta via programmering?

Smaragdalena 80504 – Avstängd
Postad: 30 aug 2018 18:22

Du har ju bara 1000 olika kombinationer att kolla, så det verkar inte helt ogenomförbart!

Men jag låser den här tråden, så kan du göra en ny i programmeringsforumet istället. /moderator

Tråden är låst för fler inlägg

Close