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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP