практика php

5.12K
.
Простенькая задачка: написать функцию, которая будет выдавать случайное число от 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