卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64334本站已运行4115

C++ 给定等差数列的和的比率,计算第M项和第N项的比率

C++ 给定等差数列的和的比率,计算第M项和第N项的比率

讨论一个问题,其中给定 A.P 的 m 项和 n 项之和的比率。我们需要找到第 m 项和第 n 项的比率。

Input: m = 8, n = 4
Output: 2.142

Input: m = 3, n = 2
Output: 1.666

Input: m = 7, n = 3
Output: 2.6

求解方法

要使用代码求出第 m 项和第 n 项的比率,我们需要简化公式。令 Sm 为前 m 项之和,Sn 为 A.P. 的前 n 项之和。

a - 第一项,

d - 公差,

给定, Sm / Sn = m2 / n2

S 的公式, Sm = (m/2)[ 2*a + (m -1)*d]

m2 / n2 = (m/2)[ 2*a + (m-1)*d ] / (n/2)[ 2*a + (n-1)*d ]

m / n = [ 2*a +(m-1) *d ] / [ 2*a + (m-1) *d ]

使用交叉乘法,

n[ 2*a + (m−1)*d ] = m[ 2*a + (n− 1)*d]

2an + mnd - nd = 2am + mnd - md

2an - 2am = nd - md

(n - m)2a = (n-m)d

d = 2a

第 m 项的公式为:

Tm = a + (m-1)d

第 m 项与第 n 项的比率为,

Tm / Tn = a + (m-1)d / a + (n-1)d

将 d 替换为 2a,

Tm / Tn = a + (m-1)*2a / a + (n-1)*2a

Tm / Tn = a( 1 + 2m − 2 ) / a( 1 + 2n − 2 )

Tm / Tn = 2m - 1 / 2n - 1

所以现在我们有用于查找第 mth 项和第 nth 项之比的简单公式。让我们看一下 C++ 代码。

示例

上述方法的 C++ 代码

#include <bits/stdc++.h>
using namespace std;
int main(){
    float m = 8, n = 4;
    // calculating ratio by applying formula.
    float result = (2 * m - 1) / (2 * n - 1);
    cout << "The Ratio of mth and nth term is: " << result;
    return 0;
}

输出

The ratio of mth and nth term is: 2.14286

结论

在本教程中,我们讨论了一个在给定总和比下求第 m 项与第 n 项之比的问题,我们通过简化 m 项之和的公式和公式来解决这个问题第 m 学期。我们还讨论了解决此问题的 C++ 程序,我们可以使用 C、Java、Python 等编程语言来实现。我们希望本教程对您有所帮助。

卓越飞翔博客
上一篇: 向 C# ASP.NET Core 管道添加中间件时,“Map”扩展有什么用?
下一篇: 检查字符串的字符是否可以通过替换'_'来变得非递减
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏