Просмотр полной версии : Числа
deman455
27.10.2010, 19:59
Допустим есть число 100. Его надо разбить на 10 частей, что бы с каждой часть число было больше, а сумма этих числе получилось ровно 100. Никак не могу додуматься как такое сделать...
Есть число 100, я указываю нужно число (уже не 10, а то которое надо, допустим 35), как теперь разбить число 100 на 35 частей с приростом каждого числа (равномерный прирост)? Конечный результат 100. (Даже не обязательно 100, любое указанное число).
Любой класс из пакета 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
А я думал тут сериал обсуждают..((
А я думал тут сериал обсуждают..((У меня была мысль переименовать тему в Numb3rs :D
Решение в лоб
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)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.