2

我正在尝试使用 WolframAlpha 来求解变量。

我有

u(k, r) = (900-3k)r^(k-1)

s(n, r) = sum u(k, r), k=1 to n

我想用

s(5000, r) = -600000000000

我尝试了各种咒语,但似乎无法让它发挥作用。我什至无法s定义来评估它。

如果你在乎,那就是解决这个问题:http ://projecteuler.net/index.php?section=problems&id=235

4

1 回答 1

2

警告:以下剧透! 在将 u(k,r) 代入后,您应该要求 WA 对 s(n,r) 的表达式进行完全简化。它应该给

(3 (299 - 300 r + r^n (-299 + n + 300 r - n r)))/(-1 + r)^2

求解最终等式只需找到(高次)多项式的根:

299 + 200000000000 (-1 + r)^2 + (4701 - 4700 r) r^5000 == 300 r

因为r != 1那是原始表达的一个极点。请注意,r 必须为正数,以便正二次方被高次项否定。绘制函数图显示 It 是正数r < 1,负数r >~ 1,所以解决方案已经过去了r=1。现在更改变量,以便x = r-1靠近x=0

200000000000 x^2 + (1 + x)^5000 (1 - 4700 x) - 1 - 300 x == 0

这应该是启发性的:

Plot[200000000000 x^2 + (1 + x)^5000 (1 - 4700 x) - 1 - 300 x, {x, 0, 0.003}]

将 FindRoot 与一个好的猜测一起使用会给出x=0.002322108633or r=1.002322108633


WA 命令紧随其后。首先我用

FullSimplify[Sum[(900-3k)r^(k-1),{k,1,n]]

然后你必须重新输入它吐出的表达式:

Plot[(3 (299 - 300 r + r^5000 (-299 + 5000 + 300 r - 5000 r)))/(-1 + r)^2 + 6000000000,{r,-2,2}]

此时我手动将 r 替换为 x+1:

Plot[200000000000 x^2 + (1 + x)^5000 (1 - 4700 x) - 1 - 300 x, {x, 0, 0.003}]

并解决根源:

FindRoot[200000000000 x^2 + (1 + x)^5000 (1 - 4700 x) - 1 - 300 x, {x, 0.0023}]

这没有提供足够的精度,这是您仅使用 WA 所能达到的程度。您可以尝试减去 WA 给您的前几位数字,然后用 y = x + 0.00232211 进行另一个替换以获得接下来的几位数字,但这对我来说太乏味了,无法尝试。

于 2009-10-28T19:51:56.660 回答