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
廣告