

Poradňácká hádanka
Poradňácká hádanka
Písmena nahraďte číslicemi:
DOTAZY
DOTAZY
DOTAZY
DOTAZY
DOTAZY
DOTAZY
DOTAZY
DOTAZY
=======
PORADNA
neboli 8x dotazy = poradna
Jestli jsem neudělal botu, tak jsou dvě řešení, kousek od sebe.
Ještě přidávám seznam řešení, kde jsou všechny proměnné nenulové :
474811*8=3798488
484811*8=3878488
494811*8=3958488
499811*8=3998488
514821*8=4118568
519821*8=4158568
529821*8=4238568
539821*8=4318568
974871*8=7798968
984871*8=7878968
994871*8=7958968
999871*8=7998968
974622*8=7796976
984622*8=7876976
994622*8=7956976
999622*8=7996976
514816*8=4118528
519816*8=4158528
529816*8=4238528
539816*8=4318528
974866*8=7798928
984866*8=7878928
994866*8=7958928
999866*8=7998928
974617*8=7796936
984617*8=7876936
994617*8=7956936
999617*8=7996936
Tomuhle ale nerozumím.
DOTAZY = první šesticiferné číslo - je tam 8x, takže *8 = PORADNA - 7 místné číslo
Dneska jim to funguje normálně tak dám odkaz:
http://smallbasic.com/smallbasic.com/program/?CRJ4 46
Běží to asi 5 minut.
Vše jsem snad popsal v předešlých dvou příspěvcích. Nesplňuje podmínku, aby hodnoty proměnných byly různé. Řešení, kdy jsou hodnoty proměnných návzajem různé, jsou dvě, viz nahoře.
Proč tam není třeba 474812*8=3798496?
Jsem nějaký namrzlý, ale proč tedy nevyhovuje tohle?
Protože nalevo A=8 , napravo A=6 ( na konci).
Vím, proč vyhovují ty dva jediné správné. Proč ten, co jsem postnul, nemůže být ve skupině "nenulových"?
Zřejmě mi něco těžce uniká, fakt to nemyslím jako provokaci.
Aha, v seznamu jsou výsledky, kdy je respektována neměnnost A. Jaký to má důvod?
do C prekladaca nech si to strci sam kto chce :) DOba vypoctu bude radovo desatiny sekundy. Doba programovania par minut :)
P.S. mne to vypisalo tieto riesenia
DOTAZY=000000, PORADNA=0000000
DOTAZY=000005, PORADNA=0000040
DOTAZY=000010, PORADNA=0000080
DOTAZY=000254, PORADNA=0002032
DOTAZY=000259, PORADNA=0002072
DOTAZY=005000, PORADNA=0040000
DOTAZY=005005, PORADNA=0040040
DOTAZY=005010, PORADNA=0040080
DOTAZY=005254, PORADNA=0042032
DOTAZY=005259, PORADNA=0042072
DOTAZY=015000, PORADNA=0120000
DOTAZY=015005, PORADNA=0120040
DOTAZY=015010, PORADNA=0120080
DOTAZY=015254, PORADNA=0122032
DOTAZY=015259, PORADNA=0122072
DOTAZY=025000, PORADNA=0200000
DOTAZY=025005, PORADNA=0200040
DOTAZY=025010, PORADNA=0200080
DOTAZY=025254, PORADNA=0202032
DOTAZY=025259, PORADNA=0202072
DOTAZY=460050, PORADNA=3680400
DOTAZY=460055, PORADNA=3680440
DOTAZY=460060, PORADNA=3680480
DOTAZY=470050, PORADNA=3760400
DOTAZY=470055, PORADNA=3760440
DOTAZY=470060, PORADNA=3760480
DOTAZY=474801, PORADNA=3798408
DOTAZY=474806, PORADNA=3798448
DOTAZY=474811, PORADNA=3798488
DOTAZY=480050, PORADNA=3840400
DOTAZY=480055, PORADNA=3840440
DOTAZY=480060, PORADNA=3840480
DOTAZY=484801, PORADNA=3878408
DOTAZY=484806, PORADNA=3878448
DOTAZY=484811, PORADNA=3878488
DOTAZY=485050, PORADNA=3880400
DOTAZY=485055, PORADNA=3880440
DOTAZY=485060, PORADNA=3880480
DOTAZY=490050, PORADNA=3920400
DOTAZY=490055, PORADNA=3920440
DOTAZY=490060, PORADNA=3920480
DOTAZY=494801, PORADNA=3958408
DOTAZY=494806, PORADNA=3958448
DOTAZY=494811, PORADNA=3958488
DOTAZY=495050, PORADNA=3960400
DOTAZY=495055, PORADNA=3960440
DOTAZY=495060, PORADNA=3960480
DOTAZY=499801, PORADNA=3998408
DOTAZY=499806, PORADNA=3998448
DOTAZY=499811, PORADNA=3998488
DOTAZY=500065, PORADNA=4000520
DOTAZY=500070, PORADNA=4000560
DOTAZY=504816, PORADNA=4038528
DOTAZY=504821, PORADNA=4038568
DOTAZY=505065, PORADNA=4040520
DOTAZY=505070, PORADNA=4040560
DOTAZY=509816, PORADNA=4078528
DOTAZY=509821, PORADNA=4078568
DOTAZY=514816, PORADNA=4118528
DOTAZY=514821, PORADNA=4118568
DOTAZY=515065, PORADNA=4120520
DOTAZY=515070, PORADNA=4120560
DOTAZY=519816, PORADNA=4158528
DOTAZY=519821, PORADNA=4158568
DOTAZY=525065, PORADNA=4200520
DOTAZY=525070, PORADNA=4200560
DOTAZY=529816, PORADNA=4238528
DOTAZY=529821, PORADNA=4238568
DOTAZY=539816, PORADNA=4318528
DOTAZY=539821, PORADNA=4318568
DOTAZY=974617, PORADNA=7796936
DOTAZY=974622, PORADNA=7796976
DOTAZY=974866, PORADNA=7798928
DOTAZY=974871, PORADNA=7798968
DOTAZY=984617, PORADNA=7876936
DOTAZY=984622, PORADNA=7876976
DOTAZY=984866, PORADNA=7878928
DOTAZY=984871, PORADNA=7878968
DOTAZY=994617, PORADNA=7956936
DOTAZY=994622, PORADNA=7956976
DOTAZY=994866, PORADNA=7958928
DOTAZY=994871, PORADNA=7958968
DOTAZY=999617, PORADNA=7996936
DOTAZY=999622, PORADNA=7996976
DOTAZY=999866, PORADNA=7998928
DOTAZY=999871, PORADNA=7998968
Asi by si mal zadefinovat ze sa cifry nesmu opakovat, ale to sa mi uz nechce robit :)
Pekné riešenie.
Doplním podmienku, že cifry sa nemôžu opakovať:
Edit: Vypíše to:
Velmi pekne riesenie ;)
Mna nenapadlo ze overit sa to da spocitanim pouzitych cifier, a ine sposoby by boli trochu komplikovane... BTW. ja by som tam dal radsej zatvorky k tomu OR-ovaniu, istota je gulomet (kto si ma pamatat prioritu operatorov :)
Vyzkoušeno:
SiV5DJv2
Hezký, akorát bych to potřeboval trochu okomentovat.(nebo ne, pohledám si to)
---
S tím jsem to sem dával, abych viděl různý možnosti řešení.
kompletny komentar k tomu programu je tu:
alebo http://melkor.dnp.fmph.uniba.sk/~zenis/prirucky/c/ kap03.htm apod
http://en.wikipedia.org/wiki/Operators_in_C_and_C% 2B%2B
A bity a bitove posuny snad vies co su.
Děkuji.
este preistotu ti dam priklad: ked chcem z cisla x=123456
napriklad 3.cifru zprava, tak vydelim (operator delenie /) cislom 100, ziskam 1234 (len cele cislo pretoze oba operatory boli typ int). Potom urobim modulo (zvysok po deleni, operator %) cislom 10, a ziskam cifru 4.
Takze napr. (i/1000)%10 je 4.cifra zprava z cisla v premennej i, alebo i%10 je posledna cifra premennej i, apod.
P.S. tieto operacie a aj bitove operacie su VELMI RYCHLE. Dnesne CPU ich vedia urobit niekolko (aj 2-4) naraz v jednom jadre (paralelizuje si to jadro samo) kazdy takt. takze kludne aj 4*3 miliardy takych operacii za sekundu, kazde jadro. Naproti tomu operacie so stringami apod. su dost neefektivne ptz alokuju a kopiruju pamat atd. kludne aj 10000x pomalsie hlavne vo Windows kde MS alokacia pamate trva celu vecnost
<< je bitovy posun dolava, 1<<0 je 1, 1<<1 je 10 binarne, takze 2. 1<<2 je 100 binarne, takze 4. Atd.
| je operacia bitove OR, takze napr. 100binarne OR 1binarne je 101binarne.
& je operacia bitove AND, da sa pouzit aj na testovanie bitu. Napr. 101binarne AND 100binarne = 100binarne, je nenulove tak to znamena ze 3.bit zprava bol 1.
001binarne AND 100binarne = 0, to znamena ze 3.bit zorava bol 0.
Dík za vyčerpávající výklad.
Řešení jsem upravil pro příklad PSICI+PSICI+PSICI=HAFANI
codepad.org - PSICI+PSICI+PSICI=HAFANI
Trochu je mi divný, že
for (int j = 0; j < 10; ++j) dává stejný čísla jako
for (int j = 0; j < 10; j++) tedy [0..9]
V tom prvním případě bych spíš čekal [1..10]
Programovanie neni o pocitoch ani ocakavaniach ale o absolutne preciznych definiciach a priebehoch.
for(neco1;podmienka;neco2) Command;
je presne a precizne difinovane ako toto:
Z toho obrazka vyplyva napr. aj to ze ak podmienka nevyhovuje hned na zaciatku tak sa nevykonna Command ani raz. A aj to ze je uplne jedno ci napises do neco2 ++ pred alebo po alebo ci tam das i+=1 mozes tam dat dokonca aj rotacie a aj viac veci naraz prekladacu je to uplne fuk on to proste vykona vsetko to co tam nacpes do neco2 v spravnom okamziku.
P.S> vpodstate
for(neco1;podmienka;neco2) Command;
je uplne stejne jak
for(neco1;podmienka;) { Command; neco2; }
aj to druhe je korektne a dovolene :)
P.S.2. rozdiel medzi i++ a ++i by tam bol len vtedy ak by si chcel menit v tom "neco2" viac veci (menit zaroven i a aj nejake ine z), napr. by si tam napisal z = ++i tak by to znamenalo i+=1; z=i. Ak by si napisal z=i++ tak by to znamenalo z=i; i+=1, a to je rozdiel.
Spíš bych doplnil podmínku, že použité vazby číslic s písmeny ve slově DOTAZY se musí
shodovat ve výsledku ve slově PORADNA
D=5, O=0(nula), A=8
Tedy pro ty kteří to v úvodu nepochopili.
Tady jsou další podobné...
hadanky-algebrogram.html
11.htm