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.
Fórum › PHP
Hledání čísla v množině N, 3 podmínky
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:
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
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 :)
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
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 :-/
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
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
Moderátoři diskuze