Nejste přihlášen/a.
Jedná se o funkci (cyklus) "Zbytek po dělení" (Remainder after division)
Potřebuji získat správné výsledky pro toto
Input Output7f6d ?b0e0 ?f66e ?6c1a ?06ec ?3948 ?9158 ?c7e9 ?ecb8 ?dbb5 ?de7b ?3af6 ?c3eb ?ed4b ?0ea9 ?a472 ?Pomocí tohotoInput Output0 01 12 23 34 45 56 67 78 89 9a ab bc cd de 0f 1ff 2fff 3ffff 4Jde o cyklus podobný hodinám. Pokud je 0:00 a přidám 20 hodin, tak bude 20:00. Ale pokud bude 0:00 a já přidám 30 hodin, tak bude 6:00 a ne 30:00.Protože hodiny se po 24 hodinách "resetují" zpět na 0:00.total = 0;foreach characters as char {total = total + char[value];}output = total % intTohex(14);První tři jsou takto7f6d db0e0 bf66e d
Však tam tu funkci máte, ne?
Zjevně se nejedná o běžná hexadecimální čísla, kde další číslo zleva je vyššího řádu, ale o skupinu číslic, kde jejich hodnota je jejich součtem. Tedy vícero různých čísel dá stejnou hodnotu. f = 1e = 2d = 78 = 87 = d2 = 555 = 1239 atd. ffff = 4 krát f = 60 (desítkových)
Máte to modulo 14, proto f dává 1, ff dává 2, fff 3 a ffff 4, vlastně každé f má zbytek 1 a tyto se sečtou.
U ukázkových výsledků u konce to pak je (7 + f + 6 + d) % e = d
(b + 0 + e + 0) % e = (b + e) % e = b % e = b
(f + 6 + 6 + e) % e = (f + 6 + 6) % e = d
Mno.. a jak tedy vlastně zní dotaz?
Dotaz zní jak zjistit tyto zbylé
6c1a ? 06ec ? 3948 ? 9158 ? c7e9 ? ecb8 ? dbb5 ? de7b ? 3af6 ? c3eb ? ed4b ? 0ea9 ? a472 ?
Nějak mi nejde do hlavy Vaše rada
(7 + f + 6 + d) % e = d
(b + 0 + e + 0) % e = (b + e) % e = b % e = b
(f + 6 + 6 + e) % e = (f + 6 + 6) % e = d
Spusťte si kalkulačku windows a přepněte na vědeckou.
V úvodu jsem psal, jak se k tomu dojde. Tohle už je jen aplikací těch poznatků v praxi.
Číslo 7F6D není desítkových 32621 v hexa, ale 7+F+6+D = desítkových 41.
41(d) % 14(d) = 13(d) = D(h)
U čísla B0E0 si můžete pomoci, protože 0 nemusíte příčítat vůbec, stejně tak E % E bude nula, takže to můžete ignorovat. Na první pohled je tedy zbytek B, protože B
Ta uvedená funkce s total a foreach dělá přesně tohle, tedy je řešením té úlohy. Proto mi nebylo jasné, na co se ptáte, když tam řešení je
No já se v tom vůbec nevyznám, takže nemohu vědět že je to to řešení.
Otevřel jsem si kalkulačku a přepnul na vědeckou, ale nevím jak zapsat do příkladu ta písmena.
Jsou nalevo od čísel, normálně na ně klikněte jako na cokoli jiného.
Také jdou psát na klávesnici.
doplněno 21.06.13 22:03:No jo, omlouvám se, ona se jmenuje programátorská, ne vědecká.
Takhle, jak to napíšete a přepnete, si převedete běžné hexadecimální číslo na desítkové.
Tohle v zadání ale nejsou běžná hexadecimální čísla, jednotlivé řády se mezi sebou nenásobí, ale sčítají. Není to A3*16^3 + A2*16^2 + A1*16^1 + A0*16^0, ale A3*16^0 + A2*16^0 + A1*16^0 + A0*16^0.
Pokud na té kalkulačce zadám (7 + f + 6 + d) % e
tak mi to samo změní na ((7+6) Mod 13) Mod
a výsledek to neukáže žádný. Dělám to určitě špatně.
Aha, měl jsem to přepnuté na vědeckou jak jste říkal, ale musím to mít na programátorské. Dostanu se k tomu že napíšu 7f6d a v Dec mi to ukáže 32621, ale co s tím dál?
Naprosto jsem se do toho zamotal.
Vepíšu do kalkulačy (programátorská, HEX) - 7F6D
Poté přepnu na DEC a získám - 32621
Ale co s tím dál?
Napíšete do kalkulačky 7 + F + 6 + D =
Pak zmáčknete Mod a napíšete E (tj 14)
A dostanete výsledek.
Koukněte se znovu na to zadání a vyzkoušejte si, jak by vycházely ty zbytky (zejména poslední řádky s FF, FFF, FFFF). Opravdu to nejsou normální hexadecimální čísla a nelze k nim tak přistupovat.
doplněno 21.06.13 23:36:Ne, napište: 7, plus, F, plus, 6, plus, D, rovnáse
---
Snad pro úplné pochopení (všechno následující je desítkově):
Běžně budete modulo 7 počítat tak, že
5 % 7 = 5
15 % 7 = 1
25 % 7 = 4
456 % 7 = 1
Potud snad jasné.
Ve vašem příkladě čísla ale fungují jinak. 456 není 4x100 + 5x10 + 6x1, ale 4x1 + 5x1 + 6x1 = 15.
Tedy výsledky s vašimi čísly budou takto:
5 % 7 = 5
15 % 7 = 6 (protože 1 + 5 = 6, 6 % 7 = 6)
25 % 7 = 0 (protože 2 + 5 = 7, 7 % 7 = 0)
456 % 7 = 1 (protože 4 + 5 + 6 = 15, 15 % 7 = 1)
Už nevím, jak líp to popsat, když ani ty mocniny šestnácti nahoře nepomohly
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.