Задать вопрос
@antonowano
Профессиональный самоучка

Как составить уравнение?

Нужно рандомное число от 0 до 1 привести к цифре от 25 до 325 и это число должно быть кратно 25.
  • Вопрос задан
  • 476 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 2
gbg
@gbg Куратор тега Программирование
Любые ответы на любые вопросы
325/25=13;
round((rand()*13))*25;
round(rand()*13) даст целые числа от 0 до 13.
Умножение целого числа на 25 даст число, кратное 25.
25 прибавляем в конце, чтобы получить смещение.
Ответ написан
Комментировать
MrBoriska
@MrBoriska
Пэхэпист самоучка, Питоност по Лутцу. C++
Умножаешь свое число на 350, потом делишь получившееся на 25 (без остатка), результат умножаешь на 25. Это и будет то, что тебе нужно.

Y = ((X * 350) // 25)*25
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
kumaxim
@kumaxim
Web-программист
Элементарно же все:
  1. Генерируем случайное число от 0 до 10. Делим его на 10(назовем это N1)
  2. Генерируем случайное число от 25 до 325(назовем это R1)
  3. Прибавляем N1 + R1. Округляем до целого значения(вверх или вниз смотри сам)
  4. Вычисляем остаток от деления N1 + R1 на 25. В большинстве языков эта операция идет через "%"
  5. Если остаток от деления равен нулю - результат найден, выход
  6. Если остаток от деления не равен нулю - повторить шаги 2-4. Про цикл, думаю, говорить не надо
Ответ написан
Deerenaros
@Deerenaros
Программист, математик, задрот и даже чуть инженер
print random.choice([i for i in xrange(25, 326, 25)])


Я к тому, что кроме приведения (0, 1] к требуемому промежутку можно использовать более простые методы. Тем более, два рандома не айс, если они честные, то есть их мало или они медленные. В вашем языке программирования (вернее, в вашей библиотеке) скорее всего есть что-то подобное.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы