
easter1991
Postitusi: 67
Tase: 4
Olek: Offline
Hinnang:    
|
Nuputamine: kahe arvu liitmine
|
|
|
pole siin kaua aega ühtki ülesannet näinud, mõtlesin, et annan ühe.
meil on antud massiiv mingite täisarvuliste suvaliste numbritega, a la
Koodijupp: $numbers = array_rand(range(1, 100), 20);
ning samuti üks arv Koodijupp: $number
, idee on nüüd teha väikene skriptijupikene mis leiab kas massivis on 2 sellist arvu mille liitmisel tekib Koodijupp: $number
, ning kui on siis näidata need.
kuid nõks on siin see, et skript peab jääma O(n), tähendab, et 'massive bruteforcimine' kõne alla ei tule.
naiivne bruteforce(O(n^2) mis jääb liiga aeglaseks suurte arvudega)
Koodijupp:
$numbers = array_rand(range(1, 1000), rand(1, 30));
$number = 70;
for($i = 0; $i < count($numbers); $i++)
for($j = 0;$j < count($numbers); $j++)
if($i != $j)
if($numbers[$i] + $numbers[$j] == $number)
echo "We have winner";
head nuputamist!
|