PDA

Просмотр полной версии : Числа


deman455
27.10.2010, 19:59
Допустим есть число 100. Его надо разбить на 10 частей, что бы с каждой часть число было больше, а сумма этих числе получилось ровно 100. Никак не могу додуматься как такое сделать...

Есть число 100, я указываю нужно число (уже не 10, а то которое надо, допустим 35), как теперь разбить число 100 на 35 частей с приростом каждого числа (равномерный прирост)? Конечный результат 100. (Даже не обязательно 100, любое указанное число).

iNils
27.10.2010, 20:09
Любой класс из пакета fl.transitions.* кроме Elastic и Back (они в какой-то момент будет выходить за заданные пределы, но в итоге к ним придут) может это сделать. Все зависит от величины изменений.

Psycho Tiger
27.10.2010, 20:31
Есть число 100, я указываю нужно число (уже не 10, а то которое надо, допустим 35), как теперь разбить число 100 на 35 частей с приростом каждого числа (равномерный прирост)?
Если прирост равномерный, то очевидно что величина прироста 100/35.

FlashRus
27.10.2010, 20:58
Если прирост равномерный, то очевидно что величина прироста 100/35.
так не получить 35 частей

пример
100/10=10
100 = 10+(10+10)+(10+10+10)+(10+10+10+10) - здесь только 4 части, хотя по твоему утверждению должно быть 10

deman455
27.10.2010, 21:02
так не получить 35 частей

пример
100/10=10
100 = 10+(10+10)+(10+10+10)+(10+10+10+10) - здесь только 4 части, хотя по твоему утверждению должно быть 10

Psycho Tiger, сначала я тоже был "очевидным".

Есть какие то методы? AS 2.0ы

f.g.programmer
27.10.2010, 21:12
Думаю здесь подойдет простая арифметическая прогрессия, в википедии всё есть
Sn = a1 + d * n * (n-1) / 2
где Sn - сумма (100), d - прирост(его надо найти), a1 - стартовое число(его надо выбрать), n - количество слагаемых

Psycho Tiger
27.10.2010, 21:59
так не получить 35 частей

пример
100/10=10
100 = 10+(10+10)+(10+10+10)+(10+10+10+10) - здесь только 4 части, хотя по твоему утверждению должно быть 10
Не так понял вопрос, спасибо.

Да, арифмитическая прогрессия. Почитайте в википедии. Вам нужна формула для суммы. Короче всё то, что сказал f.g.programmer, я просто отметиться)

alexcon314
28.10.2010, 08:23
А я думал тут сериал обсуждают..((

iNils
28.10.2010, 11:16
А я думал тут сериал обсуждают..((У меня была мысль переименовать тему в Numb3rs :D

leofit
28.10.2010, 12:01
Решение в лоб


function prog(total_sum, start_val, members_count) {
var tmp = 0;
var tmp_sum = 0;
for(var i = 0; i < members_count; i++) {
tmp += i;
tmp_sum += start_val;
}
var step = (total_sum-tmp_sum)/tmp;
trace('step',step);

var total = 0;
for(var i=0; i < members_count; i++) {
var t = start_val + i*step;
trace(t);
total += t;
}
trace('total',total);
}

prog(100, 0, 10)