практика php

8.1K
.

Простенькая задачка: написать функцию, которая будет выдавать случайное число от 0 до числа, переданного в качестве аргумента. rand() использовать нельзя. Функция должна работать и с отрицательными числами.

.
(\/)____o_O____(\/)

Onatolich, http://koenig.h2m.ru/cf.php

function test_rand ($x) {
$arr = range(0, $x);
return $arr[array_rand($arr)];
}
echo test_rand(-9536);
echo '<br/>';
echo test_rand(936);
.
точка невозврата

Koenig, ранд вроде был запрещён

.
(\/)____o_O____(\/)

vermas, Так у меня не ранд Ґґ

.
(\/)____o_O____(\/)

Можно цикл крутить одну секунду, и на каком индексе остановиться, тот и выводить, типо рулетка, могу написать

.
Koenig (26.12.2011/20:13)
Можно цикл крутить одну секунду, и на каком индексе остановиться, тот и выводить, типо рулетка, могу написать
Если никто не найдет ответ, то послезавтра напишу свое решение. Тому, кто ответит правильно и рационально, +5. Цикл не рационально использовать. =)
.
(\/)____o_O____(\/)

Onatolich, Рандомить элемент массива тоже не рационально? Или вообще любой рандом исключить

.
Koenig (27.12.2011/18:35)
Onatolich, Рандомить элемент массива тоже не рационально? Или вообще любой рандом исключить
Вообще любой. И вообще без массивов. Эта технология используется в JS, где нету таких функций как rаnd()
.

Так никто ничего и не придумал.

function random($max){
    $prefix = 1;
    if($max < 0)
        $prefix = -1;
    $max = abs($max) + 1;
    $rand = (mktime() % $max) * $prefix;
    return $rand;
}
.

напишите решение этой задачи на php =)
Вася написал на доске двузначное число. Петя приписал к нему слева одну из цифр Васиного числа. В результате получилось число, которое в 9 раз больше исходного числа. Какое число записал на доске Вася?

Всего: 198