自己写个玩具包时,碰上了一个问题,解决不了,大佬们有思路吗:
对于给定的S
和n
, 是否存在这样的等差数列 S1 、S2 、...、Sn
, 满足S1 * S2 * ... * Sn === S
, 如果存在, 通项公式是什么?
目的其实是图片的缩放, 我一方面希望实现 Lib.emit("SCALE", { scalar: S })
, 另一方面又希望能实现一个缓动事件, 对于任意的 scalar: S
, 可以将 SCALE
事件分成若干个 scalar
递减的事件 emit
出去, 外面对这个递减数列无需任何处理, 只需要依次对图片执行 scale( Si )
就行了
1
xiaoming1992 OP 对了, 应该是解下面这个方程
`S1 * (S2 + d) * (S3 + 2d) * ... * [Sn + (n - 1)d] = S`, `S` 和 `S1` 应该有个限制, 比方说 `S1 = 1.001, S > S1`, 这儿 `d` 怎么求呢... |
2
lance6716 2021-09-12 23:33:22 +08:00 via Android
二分查找就是喽
|
3
xiaoming1992 OP 没找等差数列了,构造了一个递减数列实现了缓动
|