@Suleimanov_Ismar

Как сделать разбивку числа?

Здравствуйте всем,

Пожалуйста подскажите как реализовать следующую функцию?

Подскажите логику просчета, не могу придумать:

Например:

Есть число: 500

Как это число по разному раскидать для например 5 элементов?

Например:
1 = 100
2 = 120
3 = 150
4 = 70
5 = 60

Сумма и числа будут меняться.
Буду раз любым подсказкам.

Заранее спасибо всем.
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега PHP
♬♬
Логика простая: отрезок нужно случайным образом распилить на N частей.

Для этого на этот отрезок в случайных неповторяющихся местах нужно положить N - 1 точек разреза.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Можно использовать такой код:
<?php
function split_number($num, $count) {
	$result = [];
	for ($i = 1; $i<$count; $i++) {
		// random number between 1 and half of given number
		$result[$i] = rand(1, $num / 2);
		$num -= $result[$i];
	} 
	$result[0] = $num;
	return $result;
}

$chunks = split_number(500, 5);


Share PHP code
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы