дан массив чисел от 1 до n. числа сортированы случайным образом. потерянно число m.
под массив выделено определенное количество памяти, не зависящее от значения n.
вопрос: найти значение m.
может, кто знает, как это решать. просто никогда не сталкивался с подобным
Спустя 18 минут, 45 секунд (24.07.2012 - 19:16) Winston написал(а):
Например так?
echo '<pre>';
$arr = range(1, 20);
shuffle($arr);
unset($arr[10]); // Потеряем 1 элемент
print_r($arr);
$arr2 = range(min($arr), max($arr));
$res = array_diff($arr2, $arr);
print_r($res);
Спустя 26 секунд (24.07.2012 - 19:16) Michael написал(а):
Если правильно понял - пробежаться по массиву, найдя max и min, наполнить новый массив всем этим промежутком и повыбивать из него имеющиеся в исходном массиве.
p.s. что из армии вернулся?
p.s. что из армии вернулся?

Спустя 1 минута (24.07.2012 - 19:17) Lenarfate написал(а):
суть в том, что задачу нужно было решить в уме, а ответ написать сразу на бумаге
Спустя 42 секунды (24.07.2012 - 19:18) Lenarfate написал(а):
Michael
да вернулся вот. вспоминаю все сижу)жуть какая-то))
да вернулся вот. вспоминаю все сижу)жуть какая-то))
Спустя 1 минута, 11 секунд (24.07.2012 - 19:19) killer8080 написал(а):
или так
$n = 15;
$arr = range(1, $n);
unset($arr[rand(1, $n -1)]);
shuffle($arr);
echo '<pre>'.print_r($arr, 1).'</pre>';
$max = max($arr);
for($m = 1; $m <= $max; $m++){
if(!in_array($m, $arr)){
echo $m;
break;
}
}
Спустя 33 секунды (24.07.2012 - 19:20) Michael написал(а):
Цитата (Lenarfate @ 24.07.2012 - 18:17) |
суть в том, что задачу нужно было решить в уме, а ответ написать сразу на бумаге |
какой ответ если не код? Может ты не точно сформировал тут задачу?
Спустя 4 минуты, 29 секунд (24.07.2012 - 19:24) Lenarfate написал(а):
Michael
вот прям так и дали на бумаге, типа: "на, напиши ответ. задача простая".
вот прям так и дали на бумаге, типа: "на, напиши ответ. задача простая".