Střední škola - matematický příklad

gl

Re:Střední škola - matematický příklad
« Odpověď #15 kdy: 18. 06. 2016, 20:03:43 »
for i in `seq 2002 2999`; do echo $(( $i % 3 )); done|grep 0 | wc -l
Řešení hrubou silou je v dnešní době často nejefektivnější, postrádá ale kouzlo a na konci jaksi chybí pocit uspokojení z toho, že jsem na to přišel.
Já mám většinou pocit uspokojení z toho, že celý program funguje, a moc neřeším, jak (ne)elegantním způsobem jsem k tomu došel.

Samozřejmě kdyby těch čísel nebylo tisíc, ale miliarda, nebo by se to počítalo opakovaně, tak se nad tím taky zamyslím a vyřeším to „správně“. Když ale jednorázově něco takového potřebuju, tak je prostě nejrychlejší napsat za necelou minutu ten oneliner.

To je jako když děcka v první třídě počítají na prstech. To mě moc neuspokojuje  :o

Tak třeba ruční počítání příkladů z lineární algebry ve škole byla otrava. S použitím počítače by ten předmět byl mnohem zajímavější. Na ověřování výsledků počítačem není nic špatného. Teorii to nenahradí, ale někdy to může přispět k lepšímu pochopení.


ByCzech

  • *****
  • 1 870
    • Zobrazit profil
    • E-mail
Re:Střední škola - matematický příklad
« Odpověď #16 kdy: 18. 06. 2016, 20:18:30 »
for i in `seq 2002 2999`; do echo $(( $i % 3 )); done|grep 0 | wc -l
Řešení hrubou silou je v dnešní době často nejefektivnější, postrádá ale kouzlo a na konci jaksi chybí pocit uspokojení z toho, že jsem na to přišel.
Já mám většinou pocit uspokojení z toho, že celý program funguje, a moc neřeším, jak (ne)elegantním způsobem jsem k tomu došel.

Samozřejmě kdyby těch čísel nebylo tisíc, ale miliarda, nebo by se to počítalo opakovaně, tak se nad tím taky zamyslím a vyřeším to „správně“. Když ale jednorázově něco takového potřebuju, tak je prostě nejrychlejší napsat za necelou minutu ten oneliner.

To je jako když děcka v první třídě počítají na prstech. To mě moc neuspokojuje  :o

Tak třeba ruční počítání příkladů z lineární algebry ve škole byla otrava. S použitím počítače by ten předmět byl mnohem zajímavější. Na ověřování výsledků počítačem není nic špatného. Teorii to nenahradí, ale někdy to může přispět k lepšímu pochopení.

Já nic o tom, že to je špatné naříkal. Já psal, že to je neuspokojivé. Chtělo by to číst pořádně ;)

gl

Re:Střední škola - matematický příklad
« Odpověď #17 kdy: 18. 06. 2016, 20:32:53 »
for i in `seq 2002 2999`; do echo $(( $i % 3 )); done|grep 0 | wc -l
Řešení hrubou silou je v dnešní době často nejefektivnější, postrádá ale kouzlo a na konci jaksi chybí pocit uspokojení z toho, že jsem na to přišel.
Já mám většinou pocit uspokojení z toho, že celý program funguje, a moc neřeším, jak (ne)elegantním způsobem jsem k tomu došel.

Samozřejmě kdyby těch čísel nebylo tisíc, ale miliarda, nebo by se to počítalo opakovaně, tak se nad tím taky zamyslím a vyřeším to „správně“. Když ale jednorázově něco takového potřebuju, tak je prostě nejrychlejší napsat za necelou minutu ten oneliner.

To je jako když děcka v první třídě počítají na prstech. To mě moc neuspokojuje  :o

Tak třeba ruční počítání příkladů z lineární algebry ve škole byla otrava. S použitím počítače by ten předmět byl mnohem zajímavější. Na ověřování výsledků počítačem není nic špatného. Teorii to nenahradí, ale někdy to může přispět k lepšímu pochopení.

Já nic o tom, že to je špatné naříkal. Já psal, že to je neuspokojivé. Chtělo by to číst pořádně ;)

Ok, omlouvám se. Každého uspokojuje něco jiného.

Re:Střední škola - matematický příklad
« Odpověď #18 kdy: 18. 06. 2016, 21:59:19 »
Myslím, že by to mohlo být něco jako:
(B -(A-1) +MOD(A-1, 3) -MOD(B, 3))/3

MOD je modulo (zbytek po dělení).

Edit: posunuto A o jedna, aby to bylo jako interval uzavřený
« Poslední změna: 18. 06. 2016, 22:07:21 od Martin Dimov »

gl

Re:Střední škola - matematický příklad
« Odpověď #19 kdy: 18. 06. 2016, 22:25:47 »
Myslím, že by to mohlo být něco jako:
(B -(A-1) +MOD(A-1, 3) -MOD(B, 3))/3

MOD je modulo (zbytek po dělení).

Edit: posunuto A o jedna, aby to bylo jako interval uzavřený

to není správně

(b -1) / 3 - a / 3

kde / je celočíselné dělení
mi přijde jednodušší


Re:Střední škola - matematický příklad
« Odpověď #20 kdy: 18. 06. 2016, 22:37:39 »
Pravdu mas, jdu na to asi prilis slozite a chova se to navic jako (A,B>

gl

Re:Střední škola - matematický příklad
« Odpověď #21 kdy: 18. 06. 2016, 22:38:48 »
Myslím, že by to mohlo být něco jako:
(B -(A-1) +MOD(A-1, 3) -MOD(B, 3))/3

MOD je modulo (zbytek po dělení).

Edit: posunuto A o jedna, aby to bylo jako interval uzavřený

pokud se počítají jen čísla mezi, bez těch okrajových čísel tak by to ten vzorec měl být

((B - 1) - A +MOD(A, 3) -MOD(B - 1, 3))/3

gl

Re:Střední škola - matematický příklad
« Odpověď #22 kdy: 18. 06. 2016, 22:42:24 »
Pravdu mas, jdu na to asi prilis slozite a chova se to navic jako (A,B>

Jdeš na to správně. Ten tvůj vzorec funguje i bez celočíselného dělení. Okrajové body jsou z toho zadání nejasné.