математики есть ? нужна формула - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB90.7493
BTC/USD70315.0923
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 09.03.2014, 21:30   #1
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953458
По умолчанию математики есть ? нужна формула

есть число например длинною в 10 цифр. нужна формула в которой задаётся начальное и конечное число и на основе первоначального числа генерится другое постоянное число в заданных пределах.
__________________
sspy вне форума  
Старый 09.03.2014, 22:47   #2
spasibo
Senior Member
 
Регистрация: 14.04.2013
Сообщений: 131
Бабло: $28805
По умолчанию

http://www.php.net/manual/ru/function.srand.php
http://www.php.net/manual/ru/function.mt-srand.php
не подойдет?

для других языков наверняка есть аналоги srand.
spasibo вне форума  
Старый 10.03.2014, 00:38   #3
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953458
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от spasibo Посмотреть сообщение
не то. нужен не рэндом, а вычисления
__________________
sspy вне форума  
Старый 10.03.2014, 00:49   #4
sad_taliban
Senior Member
 
Аватар для sad_taliban
 
Регистрация: 03.08.2011
Сообщений: 803
Бабло: $272965
По умолчанию

объясни подробнее что хочешь, так не очень понятно что тебе нужно.
sad_taliban вне форума  
Старый 10.03.2014, 01:26   #5
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
По умолчанию

srand($num) + $min + rand(0, $max-$min)
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 10.03.2014, 01:58   #6
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953458
ТС -->
автор темы ТС По умолчанию

spasibo, chesser, оказалось то, что нужно, спасибо
__________________
sspy вне форума  
Старый 11.03.2014, 21:28   #7
lorien
Senior Member
 
Аватар для lorien
 
Регистрация: 18.05.2009
Сообщений: 928
Бабло: $196595
По умолчанию

А вот ещё вариант, без использования srand

Идея такая. Значит есть у нас 10-значное число. Вычисляем длину диапазона между мин. разрешённых числом и макс. разрешённым числом. Далее делим нацело 10-значное число на длину диапазона, получаем результат деления и остаток. Этот остаток и будет смещением внутри диапазона.

Например:
- число 17
- мин. число диапазона 3
- макс число диапазона 7

Длина диапазона:5.
Делим 17 на 5. Будет 3 и остаток 2 т.е. смещение внутри диапазона будет равно 2
Результа: мин. число + смещение = 3 +2 = 5


Вариант со srand лучше т.к. там любое изменение исходного числа будет порождать новый алгоритм генерации случайных чисел, а в моём варианте например для исходных чисел различающихся на единицу, результаты также будут различаться на единицу. Хотя можно считать это фичей
__________________
TgScan - узнай Telegram группы, в которых состоит человек
lorien вне форума  
Старый 12.03.2014, 00:22   #8
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953458
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от lorien Посмотреть сообщение
А вот ещё вариант, без использования srand
тоже чёткий вариант
__________________
sspy вне форума  
Старый 12.03.2014, 15:29   #9
lorien
Senior Member
 
Аватар для lorien
 
Регистрация: 18.05.2009
Сообщений: 928
Бабло: $196595
По умолчанию

Кстати от плохой рэндомности можно избавиться, если просто делать нацело не исходное число, а хэш от этого числа. А если хэш слишком длинный и какое-то перполнение вызывает, то можно взять половину или четверть хэша.
__________________
TgScan - узнай Telegram группы, в которых состоит человек
lorien вне форума