2014-01-10 7 views
0

У меня есть в общей сложности 10 000, которые я хочу распределить между 99 точками, не разделенными поровну, а на растущей линейной кривой. Поэтому, в то время как первая точка может стоить только [например, 10], каждая следующая точка будет стоить больше, пока последняя не будет стоить [например, 250 или около того). Но все точки должны составлять 10 000. Как я мог это сделать?Как распределить значения линейно

// Править: первое и последнее значение 10 и 250 - это просто примеры, они могут быть действительно чем-то. Общая сумма (10 000) должна быть переменной, поэтому я мог бы изменить ее на 20 000 позже, если это необходимо.

+0

Ответ, который я получаю, равен x_i = 10 + 9010 * i/4851 для i = 0,1,2, ..., 98. Но последняя ячейка x_98 составляет около 192, а не 250. Если вам нужно, чтобы первая ячейка была 10, а последняя - 250 с 99 точками, это невозможно. – Matt

+0

Увеличивается ли линейная * или * изогнутая манера? – Bergi

+0

Я просто добавил некоторые разъяснения по этому вопросу (я не ожидал ответов, в которых не было 10 000 в них!) Но эта общая цифра должна быть переменной, но первое и последнее значения являются просто примерами и могут быть гибкими. – Essential

ответ

1

Возьмите 99 ячеек со значениями [1,2,3,4,..,99] и умножьте каждое число на S/4950, где S - желаемая сумма (например, S = 10000).

+0

Спасибо за предложение, но мне нужно решение, в котором общее количество 10 000 является переменной. – Essential

+0

@Essential Обновлено. – Matt

+0

Спасибо Мэтту! Я задавался вопросом, как вы получили цифру 4950, но потом поняли, что это сумма от 1 до 99. – Essential

0

Начиная с 3, и до 199 пунктов, по 99 пунктам, всего 10 000. Это вопрос HW?

var total = 0; 
for (var i = 1; i < 100; i += 1) { 
    total += i * 2 + 1; 
} 
alert(total); 
+0

«HW» как в оборудовании? Я на самом деле пытаюсь распределить награды за игру, постепенно увеличивая уровень игры в игре. Но это 10 000 должно быть переменным. – Essential

0

Это довольно расплывчатое, но если первая точка имеет значение X и разрыв между последовательными точками Y то в общей сложности 99 таких точек

(99 * X) + (0.5 * 99 * 98 * Y) 

Вы можете использовать эту формулу, чтобы играть вокруг с подходящим значением X и Y, так что ваше общее количество 10000 выполнено. Например, вы можете исправить X, а затем решить общее число для Y, но это может не привести к целочисленному результату, который может сделать его непригодным. К сожалению, для определенных итогов могут быть не целочисленные решения X и Y, но ваши требования кажутся довольно произвольными, поэтому я уверен, что вы можете использовать приведенное выше, чтобы получить подходящее значение X, Y и общее количество для ваших нужд. Он может служить вам, пока вы не получите лучший ответ.

+0

Спасибо за предложение, но мне нужно решение, в котором общее количество 10 000 является переменной. – Essential

+0

@Essential Я думаю, что вы не поняли ответ. Я сказал, что вы можете использовать это как руководство для ЛЮБОГО всего - выражение выше IS - общая заданная начальная точка со значением X и длина расстояния Y между последовательными точками. – mathematician1975

Смежные вопросы