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 次檢視

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告