V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xiaoming1992
V2EX  ›  问与答

如何求通项公式?

  •  
  •   xiaoming1992 · 2021-09-12 22:38:41 +08:00 · 604 次点击
    这是一个创建于 957 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自己写个玩具包时,碰上了一个问题,解决不了,大佬们有思路吗:

    对于给定的Sn, 是否存在这样的等差数列 S1 、S2 、...、Sn, 满足S1 * S2 * ... * Sn === S, 如果存在, 通项公式是什么?


    目的其实是图片的缩放, 我一方面希望实现 Lib.emit("SCALE", { scalar: S }), 另一方面又希望能实现一个缓动事件, 对于任意的 scalar: S, 可以将 SCALE事件分成若干个 scalar 递减的事件 emit 出去, 外面对这个递减数列无需任何处理, 只需要依次对图片执行 scale( Si ) 就行了

    xiaoming1992
        1
    xiaoming1992  
    OP
       2021-09-12 22:55:53 +08:00
    对了, 应该是解下面这个方程
    `S1 * (S2 + d) * (S3 + 2d) * ... * [Sn + (n - 1)d] = S`, `S` 和 `S1` 应该有个限制, 比方说 `S1 = 1.001, S > S1`, 这儿 `d` 怎么求呢...
    lance6716
        2
    lance6716  
       2021-09-12 23:33:22 +08:00 via Android
    二分查找就是喽
    xiaoming1992
        3
    xiaoming1992  
    OP
       2021-09-13 01:14:24 +08:00
    没找等差数列了,构造了一个递减数列实现了缓动
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   951 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:36 · PVG 04:36 · LAX 13:36 · JFK 16:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.