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