Autor | Zpráva | ||
---|---|---|---|
final Profil |
#1 · Zasláno: 31. 10. 2013, 14:00:59
Zdravím, mám takýto cyklus
$num = 0; for ($i = 1; $i <= 10; $i++) { $num += $i * 40; echo $num.","; } // 40,120,240,400,600,840,1120,1440,1800,2200 function get_number($i) { $num = tajomný vzorec; echo $num; } get_number(5); // 600 |
||
Radek9 Profil |
#2 · Zasláno: 31. 10. 2013, 14:04:31
final:
Můžeš použít rekurzi: function getNumber($i) { return $n === 1 ? 40 : $i * 40 + getNumber($i - 1); } |
||
Tori Profil |
Pokud
f(5) = 1*40 + 2*40 + 3*40 + 4*40 + 5*40 , tak se to dá zapsat i takto: f(5) = 40*(1+2+3+4+5) a to je (jak jsem právě zjistila) aritmetická řada, na kterou je vzoreček.
function getNumber($n) { return $n * ($n+1) / 2 * 40; } $i na začátku cyklu.
|
||
Joker Profil |
#4 · Zasláno: 31. 10. 2013, 16:34:03
Napsal bych „ Tori si ještě ze školy pamatuje posloupnosti“, nebýt toho „(jak jsem právě zjistila)“ :-)
Jinak ad [#2], cyklus by myslím v tomhle případě byl vhodnější než rekurze. Ale samozřejmě nejlepší je použít vzorec pro součet členů aritmetické posloupnosti. |
||
Tori Profil |
#5 · Zasláno: 31. 10. 2013, 17:43:22
Joker:
„Napsal bych ‚ Tori si ještě ze školy pamatuje posloupnosti‘“ Ze základky si to nepamatuji (což neznamená, že jsme to nebrali) a na střední jsme matiku neměli vůbec, bohužel. Občas by se dost hodila. |
||
Radek9 Profil |
#6 · Zasláno: 31. 10. 2013, 18:32:48
Pravda, aritmetická řada mě nanapadla. Zrovna nedávno jsme ji brali. :-)
|
||
final Profil |
#7 · Zasláno: 1. 11. 2013, 10:13:20
ďakujem všetkým
|
||
Časová prodleva: 10 let
|
0