使用给定的和和乘积查找几何级数中的前三项[关闭]

问题描述 投票:0回答:1

我的目标是创建一个C++程序来计算几何序列的前三项。提供的是前三项及其乘法的总和。

假设答案必须是真实的。

我明白了

b = p¹ᐟ³


a² + (b-s)a + b² = 0

math regression numerical-methods quadratic
1个回答
2
投票

a
b
c
为实数,即几何级数的前三项。假设它们都不为 0。否则,“级数”是退化的。

令比率

r
为实数,即连续项之间的比率。因此,

r = b/a                                   (1)
r = c/b                                   (2)

求解

a
c
的方程 (1) 和 (2) 得出:

a = b/r                                   (3)
c = br                                    (4)

给定乘积

p
,方程(3)和(4)让我们直接找到
b

p = abc = (b/r)(b)(br)
p = bbb = b³
b = p¹ᐟ³                                  (5)

因此,

b
是乘积的立方根。

[注: 此答案中仅使用了两个小数指数:1/3 和 2/3。如果微小的 Unicode 指数难以阅读,您可能需要放大。]

将方程 (1) 设置为等于方程 (2),可得出

c
的另一个方程:

b/a = c/b
bb = ac
b² = ac
c = b²/a
c = (p¹ᐟ³)²/a
c = p²ᐟ³/a                                (6)

转向总和

s
,我们有:

s = a + b + c
s = a + (p¹ᐟ³) + (p²ᐟ³/a)

两边同时乘以

a
,然后两边减去
as
,得到:

as = aa + a(p¹ᐟ³) + a(p²ᐟ³/a)
sa = a² + (p¹ᐟ³)a + p²ᐟ³
0 = a² + (p¹ᐟ³)a - sa + p²ᐟ³
0 = a² + (p¹ᐟ³-s)a + p²ᐟ³                 (7)

方程(7)可以通过熟悉的二次公式来求解。对于二次方程

0 = Ax² + Bx + C
,其中使用大写字母与上面的小写字母进行区分,我们可以将方程(7)映射如下:

  • A
    1
  • B
    p¹ᐟ³-s
  • C
    p²ᐟ³
  • x
    a

判别式,

B² - 4AC
,确定根的数量和类型。

  • — 有两个不同的实数根
  • zero – 有一个实数根。这有时称为双根
  • – 两个根是复共轭。

对于方程(7),我们有

B² = (p¹ᐟ³-s)²
B² = (p¹ᐟ³)² + 2(p¹ᐟ³)(-s) +(-s)²
B² = p²ᐟ³ - 2s(p¹ᐟ³) + s²

4AC = 4(1)(p²ᐟ³)
4AC = 4p²ᐟ³

B² - 4AC = p²ᐟ³ - 2s(p¹ᐟ³) + s² - 4p²ᐟ³
B² - 4AC = -3p²ᐟ³ - 2s(p¹ᐟ³) + s²
B² - 4AC = s² - 2(p¹ᐟ³)s - 3p²ᐟ³
B² - 4AC = (s + p¹ᐟ³)(s - 3p¹ᐟ³)          (8)
B² - 4AC = (s + b)(s - 3b)               (9)

等式(9)表明判别式在两种情况下消失:

  1. s = -b
  2. s = 3b

设计用于查找该问题的几何级数

a
b
c
的程序必须分析判别式,并相应地提出解决方案。

对于存在的实数解:

  • 解方程(7)即可确定
    a
  • 的值
  • 方程(5)给出
    b
  • 方程(6)给出
    c

方程(8)的因子很好地表明计算机计算中的舍入误差是否影响判别式的分析。如果任一因子“接近”零,则可能无法正确计算判别式的符号。此外,应值为 0 的判别式可以计算为某个“小”值,无论是正值还是负值。

© www.soinside.com 2019 - 2024. All rights reserved.