Hledání čísla v množině N, 3 podmínky – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Hledání čísla v množině N, 3 podmínky – PHP – Fórum – Programujte.comHledání čísla v množině N, 3 podmínky – PHP – Fórum – Programujte.com

 

Golem0
Newbie
28. 12. 2009   #1
-
0
-

Potřeboval jsem narychlo zbastlit program, který by našel čísla odpovídající těmto parametrům

Za úkol je najít dvě přirozená čísla, která když zaokrouhlím na desítky tak
- podíl zaokrouhlených čísel je stejný jako podíl čísel původních
- součin zaokrouhlených čísel je o 295 větší než součin původních čísel
- součet zaokrouhlených čísel je o 6 větší než součin původních čísel
Čísla jsou v intervalu 1-1000

Napsal jsem tento kód, ale vyhazuje to nesmyslné výsledky

<?php
$s=0;
for ($i = 1; $i < 1000; $i++)
{
$n1=rand(1,1000);
$n2=rand(1,1000);
$rn1=round($n1/10)*10;
$rn2=round($n2/10)*10;
if (($rn1/$rn2)==($n1/$n2) and (($rn1*$rn2+295)==($n1*$n2)) and ($rn1+$rn2+6)==($n1+$n1));
{
echo '<br>';
echo "n1 = ";
echo $n1;
echo " n2 =";
echo $n2;
echo '<br>';
echo "rn1 = ";
echo $rn1;
echo " rn2 = ";
echo $rn2;
echo '<br>';
break;
}
}
?>

PHP není zrovna můj šálek kávy, ale přišel jsem o notebook a mám jeden půjčený kam nemůžu NetBeans instalovat, takže jediná možná volba byla PHP.

Nahlásit jako SPAM
IP: 62.245.72.–
marioff0
Expert
28. 12. 2009   #2
-
0
-

ked hladas tie cisla od 1 po 1000, tak preco ich generujes nahodne???


for ($i1 = 1; $i1 <= 1000; $i1++)  {

for ($i2 = 1; $i2 <= 1000; $i2++) {
//...
}
}


cize $i1 je prve prirodzene cislo a $i2 druhe....
a tam si dosadis len tu rovnicu tak aby pri zhode (s pouzitim break(); ) s ohladom na zadanie vyplula spravny vysledok...

ak som to nepochopil tak sorry , matiku moc nemusim, a skor som uvazoval "sedliackym" rozumom...

ale urcite ti poradi KIIV.... pockaj si na neho :smile1:

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Golem0
Newbie
28. 12. 2009   #3
-
0
-

to je vlastně pravda.

Ale stejně proč to vyhodi tolik vysledku měl by být jen jeden

Nahlásit jako SPAM
IP: 62.245.72.–
JJetmar0
Newbie
28. 12. 2009   #4
-
0
-

Duplicita Koukněte na další příspěvek

Nahlásit jako SPAM
IP: 213.226.196.–
Pokus při vizualizaci čtvrté dimenze: vezměte bod, natáhněte jej v přímku, zatočte ji do tvaru kružnice, zkruťte ji v kouli a tu vrhněte do prostoru. - Albert Einsteins
JJetmar0
Newbie
28. 12. 2009   #5
-
0
-

Zkoušel jsem, ale někde tam mám nekonečnou smyčku a nemůžu to najít :-/
Edit: Sakra mazání příspěvků je zakázaný a připojit přílohu taky nejde? :D
http://pastebin.com/m2c867f11

Nahlásit jako SPAM
IP: 213.226.196.–
Pokus při vizualizaci čtvrté dimenze: vezměte bod, natáhněte jej v přímku, zatočte ji do tvaru kružnice, zkruťte ji v kouli a tu vrhněte do prostoru. - Albert Einsteins
Golem0
Newbie
28. 12. 2009   #6
-
0
-

Ty jo! Díky za tolik času pro mě obětovaného.

Co vyjde? :)

Nahlásit jako SPAM
IP: 62.245.72.–
hrach
~ Redaktor
+1
Boss
28. 12. 2009   #7
-
0
-

jen dodám, že v daných funkcích se může klidně používat rovnou return s výrazem, je to taký začátečniký nešvar, že kontroluji jestli je něco pravda, a podle toho vracim true, nebo false, normálně tam může být:

return $podil_zaokrouhleny == $podil_puvodni;

//respektive
return $soucin_zaokrouhleny == $soucin_puvodni+295;
//respektive
return $soucet_zaokrouhleny == $soucin_puvodni+6;

jinak osobne bych pouzival taky ten for cyklus, jak navrhoval marioff :)

Nahlásit jako SPAM
IP: 90.179.27.–
http://jan.skrasek.com@hrachcz – webdeveloper
polonium0
Návštěvník
29. 12. 2009   #8
-
0
-

To Golem : Ten script, ktery jsi napsal, se bude chtít 1000x zopakovat a pokazde ti vygeneruje dve cisla od 1 do 1000 a pokud to cislo projde tim if, zastavi script a tato cisla vypise.

A ty potrebujes najit vsechny nebo cisla v intervalu 1-1000 nebo prvni vyskit ??

btw odhaduju zpravne ze pokud chces cislo zaokrouhlit na desitky bude muset byt vetsi nez 4 ptze jinak bude $rn1,2 = 0

Nahlásit jako SPAM
IP: 85.132.159.–
polonium0
Návštěvník
29. 12. 2009   #9
-
0
-

if (($rn1/$rn2)==($n1/$n2) and (($rn1*$rn2+295)==($n1*$n2)) and ($rn1+$rn2+6)==($n1+$n1));

Ten strednik na konci if me trosku zarazi

Nahlásit jako SPAM
IP: 85.132.159.–
Golem0
Newbie
29. 12. 2009   #10
-
0
-

To polonium : Já si myslím, že ten výskyt bude jenom jeden. Každopádně jeden mi ztačí.

Zajímavý, že bez toho středníku za if to nehodí ani výsledek ani error.

Nahlásit jako SPAM
IP: 62.245.72.–
JJetmar0
Newbie
29. 12. 2009   #11
-
0
-

To polonium : Vlastně si jen popsal to, co jsem napsal ve skriptu výše :) Ale porád mi vrtá hlavou kde jsem udělal chybu :-/

Nahlásit jako SPAM
IP: 213.226.196.–
Pokus při vizualizaci čtvrté dimenze: vezměte bod, natáhněte jej v přímku, zatočte ji do tvaru kružnice, zkruťte ji v kouli a tu vrhněte do prostoru. - Albert Einsteins
Golem0
Newbie
29. 12. 2009   #12
-
0
-

Už jsem to vyřešil sehnal jsem počítač s Visual Studiem a naprogramoval jsem to v C++. A fungovalo to, takže už žádný problém neexistuje. Děkuji všem za pomoc.

Nahlásit jako SPAM
IP: 62.245.72.–
polonium0
Návštěvník
30. 12. 2009   #13
-
0
-

hehe premyslel jsem do diskuze :)

Nahlásit jako SPAM
IP: 85.161.153.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 28 hostů

Podobná vlákna

Podmínky — založil martin

Podmínky ve VB — založil Stanislav.Ospaly

Podmínky... — založil laik

Podmínky v C# — založil JD_1609

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý