C++程序:查找序列a, b, b, c, c, c…中的第N项


在本问题中,我们给定一个数字N。我们的任务是创建一个C++程序,用于查找序列a, b, b, c, c, c…中的第N项。

问题描述

查找序列的第N项:

a, b, b, c, c, c, d, d, d, d,....N项

我们需要找到该序列的通项公式。

让我们举一个例子来理解这个问题:

输入

N = 7

输出

d

解决方案

为了找到该序列的通项公式,我们需要仔细观察该序列。该序列有1个a,2个b,3个c,4个d……这看起来像是一个等差数列。并且第N项是等差数列的和,其中a和d都为1。

等差数列的和 = 第N项 = (n/2)(a+(n-1)d)。

n指定了第N项是哪个字符。

现在,让我们推导出n的值:

Nth Term = (n/2)*(1 + (n-1)*1)
   (n/2)*(1 + n - 1)
   (n/2)*n

$\sqrt{2\square^2}$

示例

现场演示

#include <iostream>
#include <math.h>
using namespace std;
char findNTerm(int N) {
   int n = sqrt(2*N);
   return ((char)('a' + n));
}
int main() {
   int N = 54;
   cout<<N<<"th term of the series is "<<findNTerm(N);
   return 0;
}

输出

54th term of the series is k

更新于: 2020年10月9日

256 次查看

开启你的职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.