Autor | Zpráva | ||
---|---|---|---|
IdemeNaHavaj Profil |
#1 · Zasláno: 24. 4. 2022, 14:30:04
Jednoduchý príklad? Wikipedia mi moc neporadila a na iných stránkach som to nenašiel.
Zdroj z wiki: Rok vydelíme 19 a zvyšok označíme "a"; Rok vydelíme 4 a zvyšok označíme "b"; Rok vydelíme 7 a zvyšok označíme "c"; Pre 20. a 21. storočie platia konštanty: m = 24; n = 5; Vyrátame: (19*a + m) / 30 a zvyšok označíme "d"; (n + 2b + 4c + 6d) / 7 a zvyšok označíme "e"; Pre marec platí: 22 + d + e = Veľkonočná nedeľa; Pre apríl platí: d + e - 9 = Veľkonočná nedeľa; Rok vydelíme 19 a zvyšok označíme "a"; 2023/19 = 106,4736842105263 - zvyšok čoho označím "a"? dňa mesiaca? :)
Potom výpočet (19*a + m) / 30 a zvyšok označíme "d"; "a" nahradím zvyškom a zasa z celku si ako zistím čo je zvyšok aby som ho označil "d"? Prosím napíšte mi to v nejakom príklade lebo ja tomu nie a nie pochopiť. Mier. |
||
Giga Profil |
#2 · Zasláno: 24. 4. 2022, 15:41:31
Hovorí Ti niečo pojem "celočíselné delenie" ?
|
||
IdemeNaHavaj Profil |
#3 · Zasláno: 24. 4. 2022, 15:53:09
Giga:
ak by mi niečo niečo hovorilo tak sa tu nepytam |
||
Bubák Profil |
#4 · Zasláno: 24. 4. 2022, 16:41:31
IdemeNaHavaj:
Základní školu máš za sebou? |
||
IdemeNaHavaj Profil |
#5 · Zasláno: 24. 4. 2022, 17:02:09
Bubák:
A ty? Takéto trapné narážky bežali pred 30 rokmi. |
||
Firibix Profil |
#6 · Zasláno: 24. 4. 2022, 17:58:21
Reakce na IdemeNaHavaj:
Celočíselné dělení se učí ve 4. třídě. Ukáži na tvém příkladu 2023 děleno 19: 1. Vezmeme první cifru dělence, to je dvojka. Kolikrát se vejde devatenáctka do dvojky? Nulakrát. První číslice výsledku je tedy nula. Nulakrát devatenáct je nula, a kolik zbývá do dvojky? Dva. Zbytek je tedy dva. 2. Pokračujeme s druhou cifrou dělence a před ní napíšeme zbytek z předchozího kroku, vznikne tedy číslo 20. Kolikrát se vejde devatenáctka do dvacítky? Jedenkrát. Druhá číslice výsledku je jednička. Jedenkrát devatenáct je devatenáct, a kolik zbývá do dvacítky? Jedna, to je zbytek. 3. Vezmeme třetí cifru dělence, napíšeme před ní předcházející zbytek a dostaneme číslo 12. Kolikrát se vejde devatenáctka do dvanáctky? Nulakrát. Další číslice výsledku je nula. Nulakrát devatenáct už víme, že je nula; do dvanáctky zbývá dvanáct, tím máme zbytek. 4. Bereme poslední cifru dělence a nesmí nás vyděsit, že před ní připisujeme dvojciferný zbytek z předchozího kroku. Zkrátka máme číslo 123, devatenáctka se do něj vejde šestkrát. Devatenáct krát šest je 114, do 123 zbývá devět. 5. Žádné další cifry dělence už nezbývají, takže jsme se dostali na konec. Výsledek je 106 se zbytkem 9 (výsledný zbytek je ten z posledního kroku). Ve tvém příkladu je tedy a = 9. Je-li libo, můžeme vyzkoušet, jestli nám vyšel správný výsledek. 106 krát 19 je 2014, přičteme 9 a dostaneme původních 2023. Máme to dobře. |
||
Keeehi Profil |
IdemeNaHavaj:
No a to co potřebuješ ještě vědět je, že zbytek po celočíselném dělení se v angličtině nazývá modulo a v php ho zjistíš operátorem %. |
||
juriad Profil |
#8 · Zasláno: 24. 4. 2022, 18:20:58
Myslím, že není třeba osočování tím, kdo má jakou školu.
Když dělíš dvě celá čísla, ne vždy bude výsledkem celé číslo. Například, jak už Firibix ukázal 2023 / 19 ukáže na kalkulačce 106.47368421052632 .
S operátorem děleno / jsou spojeny dva další operátory - celočísledné dělení a zbytek po dělení.
Oba mají různé zápisy v různých programovacích jazycích. Uvededu 2 pro web nejběžnější: # PHP intdiv(2023, 19) = 106 2023 % 19 = 9 // JS floor(2023 / 19) = 106 2023 % 19 = 9 První odpovídá na otázku, kolik bonbónů dostane každé, když jich máš rozdělit 2023 mezi 19 dětí. Druhý odpovídá na otázku, pokud je rozdělíš spravedlivě, kolik jich zůstane - to je ten zbytek po dělení. Celý výpočet uvedený v [#1] by v PHP vypadal takto. V JS to bude stejné jen bez těch $ .
$a = $rok % 19; $b = $rok % 4; $c = $rok % 7; $m = 24; $n = 5; $d = (19 * $a + $m) % 30; $e = ($n + 2 * $b + 4 * $c + 6 * $d) % 7; $marec = 22 + $d + $e; $april = $d + $e - 9; |
||
N71 Profil * |
#9 · Zasláno: 25. 4. 2022, 10:34:28
Ještě dodatek k datu Velikonoc. Je to i ve světě poměrně důležitý svátek, takže občas má i dedikovanou funkci. V PHP například
easter_date .
|
||
Radek9 Profil |
juriad:
Jen doplním, že v JS je to Math.floor (nikoli pouze floor ) a ani to není úplně správně, protože to může vrátit špatný výsledek pro záporná čísla (např. Math.floor(-2023 / 9) vrátí -225, ačkoli by měl být výsledek -224). Vhodnější je použít funkci Math.trunc , která prostě osekne desetinnou část (nehledě na znaménko). V případě použití BigInt čísel dokonce stačí pouze / bez jakékoli další funkce, tedy 2023n / 9n .
|
||
jirka2 Profil |
#11 · Zasláno: 25. 4. 2022, 14:18:05
Co to zkusit takto:
kalendar.beda.cz/vypocet-velikonocni-nedele Nebo jinak: kalendar.beda.cz/ostatni-algoritmy-vypoctu-velikonocni-nedele |
||
Kcko Profil |
Prvně +1 za juriad-ovu odpověd
Jinak můžeš zkusit tuhle metodu, kterou jsem kdysi psal na jednom e-shopu, zdá se mi, že pořád funguje ;) public function getEasterDateTime($year) { $base = new \DateTime("$year-03-21"); $days = easter_days($year); return $base->add(new \DateInterval("P{$days}D")); } A tohle je sic Nette komponenta, ale ten vnitřek si můžeš dát jinam a řeší i jiné věci, jako svátky, velikonoční pondělí atd. |
||
Časová prodleva: 2 roky
|
0