štvrtok 18. decembra 2008

Neznáme číslo 2

Tu je sľúbená hádanka:

Číslo 3025 má zvláštnu vlastnosť. Keď ho "roztrhneme" na dve čísla 30 a 25, tieto sčítame a výsledok umocníme, dostaneme pôvodné číslo 3025:

30 + 25 = 55
552 = 3025

Nájdete nejaké iné štvorciferné číslo zložené zo 4 rôznych cifier, s takouto zvláštnou vlastnosťou?

Ak neviete ako na to, skúste sa možno inšpirovať riešením minulej a predminulej úlohy.

6 komentárov:

Unknown povedal(a)...

*SPOILER*

*SPOILER*

*SPOILER*

nasiel som uz len 20 a 25

Unknown povedal(a)...

aha, sorry, nevsimol som si ze maju mat rozne cifry. Potom uz teda neexistuju take 2 cisla...

rasťo povedal(a)...

Rado, 2025 naozaj spĺňa podmienku, že (20 + 25)^2 = 2025, takže fajn. Ale ako si sa sám opravil, obsahuje dve dvojky... ale musím ťa opraviť, že hľadané štvorciferné číslo existuje, teda, že okrem 3025 je ešte jedno 4ciferné číslo s požadovanými vlastnosťami.

Inak, Rado, ako si to číslo našiel? Teda, ako si postupoval keď si ho hľadal?

Anonymný povedal(a)...

Ja som jedno našiel, ale hanbím sa za to akým spôsobom :) Dal som do kalkulačky najváčšie číslo, ktoré má druhú mocninu štvorcifenú a zrazu aha. Ale chcem prísť na nejaký normálny spôsob. Aj keď rovnicu si napísať viem, ale má dve neznáme, hmm

Unknown povedal(a)...

*SPOILER*

*SPOILER*

*SPOILER*

ok, tak nasiel som este 9801

...
hladal to za mna pocitac. V prvom pripade to nenasiel, preto lebo som na to isiel opacne - spajal som dvojciferne cisla do 4-ciferneho. Ale takym sposobom som vynechal cisla ako napr 1001, 1002, 1003,...

Druha verzia skriptiku rozbija 4 ciferne cisla a tie porovnava - takze mu neuslo tych 9801...

rasťo povedal(a)...

Rado: správne riešenie, a myslím, že aj veľmi poučný príbeh - ako si na to postupne došiel. Vďaka za komentáre! Táto úloha podobne ako tá predchádzajúca mala konečný počet adeptov na riešenie, preto sa dá riešiť takýmto naprogramovaným prečesávaním všetkých možností. Keby šlo o nejaké väčšie čísla, možno by si trvanie výpočtov vyžiadalo nejaké optimalizácie = hlbšie zamyslenie :-) Ale naozaj, v takomto prípade je naprogramovať overovanie všetkých možností asi najrýchlejší spôsob ako prísť k riešeniu.. teda, pokiaľ nemáme taký talent na odhad ako fedoo...

No a fedoo, nemáš sa za čo hanbiť, keď si šťastne našiel riešenie. Ja som na to tiež došiel so šťastím. Napísal som si takúto rovnicu:

(x+y)^2 = 100x + y

Jedna rovnica s dvomi neznámymi. Vieme však, že obidve neznáme sú celé kladné čísla. Teda môžme skúsiť napríklad neznámu y brať ako parameter. Vyjadríme x, a za y postupne dosadzujeme celé čísla z intervalu <0,99>. (keby sme za neznámu brali y, parameter x by bol z intervalu <10,99>, teda menej možností, ja som si však vybral tú prvú možnosť a ako sa ukázalo mal som šťastie, lebo som začal dosadzovať od nuly...)

Teda, nech y je parameter, potom

x_1 = 50 - y + sqrt(2500 - 99y)
x_2 = 50 - y - sqrt(2500 - 99y)

No a začal som dosadzovať y = 0, 1,... a mal som šťastie, keďže riešenie prišlo hneď pre y=1 :-)

Z toho, čo sme tu zatiaľ spolu vymysleli to vyzerá tak, že optimálnym riešením by bol program, ktorý by vyskúšal tých 90 možností pre parameter x (namiesto 9000 možností overovania 4ciferných čísel). To je tá optimalizácia, ktorá by prišla vhod, keby sme mali robiť s väčšími číslami (Už len v tomto prípade je to približne 100násobná úspora).

Stále nám tu ale chýba nejaké riešenie, ktoré by nezahŕňalo takéto poloslepé overovanie množstva možností. Existuje vôbec?