Autor | Zpráva | ||
---|---|---|---|
Natt_52 Profil |
#1 · Zasláno: 26. 12. 2015, 21:57:30
prosím, nevíte někdo jak v php udělat nejmenší společný násobek?
|
||
Alphard Profil |
#2 · Zasláno: 26. 12. 2015, 22:11:55
|
||
Natt_52 Profil |
#3 · Zasláno: 26. 12. 2015, 22:15:42
přes to mi to nejede, nevím co dělám špatně...
|
||
Alphard Profil |
#4 · Zasláno: 26. 12. 2015, 23:18:13
Ten script je funkční, chyba bude mezi klávesnicí a židlí. (Snad tohle stačí jako popostrčení k bližšímu popisu problému a dosavadního řešení.)
|
||
Bubák Profil |
#5 · Zasláno: 26. 12. 2015, 23:19:36
Zřejmě to máš rozbité.
|
||
Natt_52 Profil |
#6 · Zasláno: 27. 12. 2015, 19:01:10
a stačí to jen zkopírovat? asi né co? ...nerozumím totiž tomu mam to jako céčkový předmět do školy
|
||
yFang Profil |
#7 · Zasláno: 27. 12. 2015, 21:10:11
Natt_52:
„a stačí to jen zkopírovat? asi né co? ...nerozumím totiž tomu mam to jako céčkový předmět do školy“ A to se máš v tom předmětu naučit kopírovat? asi né co? Možná by bylo dobré nejdřív pochopit, jak ten algoritmus funguje, a pak to napsat. |
||
Natt_52 Profil |
#8 · Zasláno: 28. 12. 2015, 10:46:46
yFang:
myslím, že kdybych tomu rozuměla nepíšu tady...proč tady asi píšu? abych to pochopila... |
||
juriad Profil |
#9 · Zasláno: 28. 12. 2015, 11:03:40
Natt_52:
Jednou píšeš o PHP, podruhé o C. Tak si vyber, o co vlastně jde. Jsou to dva úplně odlišné jazyky. Na té odkázané stránce je algoritmus dopodrobna vysvětlen na příkladech. Je tam pak řečeno, že ve skutečnosti se počítá z největšího společného dělitele (Eukleidův algoritmus). A odkaz, jak spočítat ten. Umíš ten postup provést na papíře? Pokud nám nenapíšeš kód, který jsi zkoušela, tak my nemůžeme vědět, jakou chybu jsi udělala. My ti jsme ochotní pomoct, ale když neřekneš s čím máš problém, není šance. |
||
Natt_52 Profil |
#10 · Zasláno: 28. 12. 2015, 11:10:44 · Upravil/a: Moderátor (editace znemožněna) o 4 minuty později
o žádném C jsem nepsala... juriad mám toto v html :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, http://www.pspad.com"> <title></title> </head> <body> <h1>Úkol</h1> <h2>Nejmenší společný násobek</h2> <form method="get" action="ukol.php" method="post" > <br> číslo 1 <input type="text" name="nasobek1" value="" /> <br> číslo 2 <input type="text" name="nasobek2" value="" /> <input type="submit" value="Vypočítej" /> </form> </body> </body> </html> <meta http-equiv="Content-Type" content="text/html" charset="Windows-1250" /> <title>Nejmenší společný násobek</title> </head> <body> <h2>Nejmenší společný násobek</h2> <?php $nasobek1=$_REQUEST["cislo1"]; $nasobek2=$_REQUEST["cislo2"]; $nasobek= lcm(nasobek1,nasobek2) ?> První násobek: <?php echo ($nasobek1); ?> <br /> Druhý násobek: <?php echo ($nasobek2); ?> <br /> Výsledek: <?php $nasobek = function lcm($nasobek1, $nasobek2) { if ($nasobek1 == 0 || $nasobek2 == 0) { return 0; } return ($nasobek1 * $nasobek2) / gcd($nasobek1, $nasobek2); } echo ($nasobek); ?> </body> </html> to php je 100% špatně a právě s tím si nevím rady Moderátor juriad: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
anonymníí Profil * |
#11 · Zasláno: 28. 12. 2015, 11:20:46
Natt_52:
A funkci gcd z řádku 22 druhého kódu máš kde? Musíš přemýšlet, ne jen kopírovat části kódů. A sledovat chybové hlášky, pokud je máš zapnuté. Pokud ne, zapni si je.
|
||
juriad Profil |
#12 · Zasláno: 28. 12. 2015, 11:32:52
Ok, já pochopil Céčkový předmět jako programování v jazyce C. :-)
Zkusme to trošku zjednodušit, toto bud stránka index.html: <!DOCTYPE html> <html> <head> <meta charset="windows-1250"> <title>Úkol</title> </head> <body> <h1>Úkol</h1> <h2>Nejmenší společný násobek</h2> <form method="get" action="ukol.php"> Číslo 1: <input type="number" name="cislo1"> <br> Číslo 2: <input type="number" name="cislo2"> <br> <input type="submit" value="Vypočítej"> </form> </body> </html> A teď PHP. Začneme tím, že si úplně na začátku zadefinujeme funkce gcd a lcm (protože lcm potřebuje funkci gcd). Dále si do proměnných uložíme parametry z formuláře a vypočítáme nejmenší společný násobek. Nakonec vypíšeme stránku a na vhodná místa doplníme výpisy proměnných. <?php # počítá největšího společného dělitele function gcd($a, $b) { if ($a < 1 || $b < 1) { die("a or b is less than 1"); } $r = 0; do { $r = $a % $b; $a = $b; $b = $r; } while ($b != 0); return $a; } # počítá nejmenší společný násobek function lcm($a, $b) { if ($a == 0 || $b == 0) { return 0; } return ($a * $b) / gcd($a, $b); } # samotné zpracování $cislo1 = $_GET['cislo1']; $cislo2 = $_GET['cislo2']; $nsn = lcm($cislo1, $cislo2); # následuje HTML stránka s vloženými proměnnými ?> <!DOCTYPE html> <html> <head> <meta charset="windows-1250"> <title>Úkol</title> </head> <body> <h1>Úkol</h1> <h2>Nejmenší společný násobek</h2> Nejmenší společný násobek čísel <?= $cislo1 ?> a <?= $cislo2 ?> je <?= $nsn ?>. <br> <a href="index.html">Zpět na formulář</a> </body> </html> |
||
Natt_52 Profil |
#13 · Zasláno: 29. 12. 2015, 20:37:18
juriad:
dekujiiii |
||
Časová prodleva: 8 let
|
0