C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++を使用して、シリーズ14、28、20、40、…..のN番目の項を検索します。


この問題では、整数値Nが与えられます。私たちのタスクはシリーズのn番目の項を見つけることです。 −

14、28、20、40、32、64、56、112…。

問題を理解するために例を見てみましょう

入力

N = 6

出力

64

ソリューションアプローチ

シリーズのN番目の用語を見つけるには、シリーズの一般的な用語を見つける必要があります。そのため、シリーズを注意深く観察する必要があります。シリーズを解決するための2つの異なる方法を見ることができます。

方法1

このシリーズは、偶数と奇数の位置にある2つの異なるシリーズの混合物です。

奇数の位置で − 14、20、32、56、…。

T1 = 14
T3 = 20 = T1 + 6
T5 = 32 = T3 + 12
T7 = 56 = T5 + 24 = T1 + 6 + 12 + 24 = T1 + 6*(1 + 2 + 4)
TN = T1 + 6(20 + 21 + 22 +....+ 2((N/2) - 1 ) )

均等な位置で − 28、40、64、112…

T2 = 28
T4 = 40 = T2 + 12
T6 = 64 = T4 + 24
T8 = 112 = T6 + 48 = T2 + 12 + 24 + 48 = T2 + 6*(2 + 4 + 8)
TN = T2 + 6(21 + 22 +....+ 2((N/2) - 1 ) )

シリーズのN番目の用語は

です。

$ \ mathrm {T_ {N} \、=\、T_ {s} \、+ \、6 \ left(\ sum 2 ^ {\ left(\ left(N / 2 \ right)-1 \ right)} \ right)} $、ここで値はsからNまで2ずつ増加します。

偶数の値の場合s=2、

奇数値の場合s=1。

#include <iostream>
#include <math.h>
using namespace std;
long findNthAdd(int s, int i, int n){
   int sum = 0;
   for(; i <= n; i+= 2){
      sum += pow(2, (int)((i/2) - 1));
   }
   return 6*sum;
}
long findNthTermSeries(int n){
   int s, i;
   if(n % 2 == 0){
      s = 28;
      i = 4;
   }
   else{
      s = 14;
      i = 3;
   }
   return ( s + findNthAdd(s, i, n));
}
int main(){
   int n = 15;
   cout<<n<<"th term of the series is "<<findNthTermSeries(n);
   return 0;
}

出力

15th term of the series is 776

別の解決策

もう1つの方法は、N番目の項を見つけるために、現在の項が前の項の2倍であるか、偶数/奇数に基づいて前の項から8少ないという事実を使用することです。

If N is even TN = 2*T(N-1)
If N is odd TN = T(N-1) - 8

したがって、2からNにループして、T iを見つける必要があります。 偶数か奇数かを確認します。

ソリューションの動作を説明するプログラム

#include <iostream>
using namespace std;
bool isEven(int N){
   if(N % 2 == 0)
      return true;
   return false;
}
int findNthTermSeries(int n){
   int TermN = 14;
   for (int i = 2; i <= n; i++) {
      if (isEven(i))
         TermN *= 2;
      else
         TermN -= 8;
   }
   return TermN;
}
int main(){
   int n = 15;
   cout<<n<<"th term of the series is "<<findNthTermSeries(n);
   return 0;
}

出力

15th term of the series is 776

  1. C++を使用してペル数を見つける

    与えられた問題では、P nを見つけるために必要な整数nが与えられます。 、つまり、その位置のペル数。さて、私たちが知っているように、ペル数はこの式で与えられるシリーズの一部です-P n =2 * P n-1 + P n-2 最初の2つの開始番号-P0 =0およびP1 =1 解決策を見つけるためのアプローチ 次に、再帰的アプローチと反復的アプローチの2つのアプローチでこの問題を解決します。 再帰的アプローチ この式では、ペル数の式を再帰的に適用し、n回の反復を行います。 例 #include <iostream> using namespace std;

  2. C++を使用してN番目の偶数の長さの回文を検索します

    C + +を使用したことがある場合は、回文数について聞いたことがあるはずです。したがって、このガイドでは、適切な例を使用して、「N番目の偶数長の回文」に関するすべてを説明します。回文数は、それらを逆にした後も同じままである数です。数字だけでなく、文字を逆にしてもスペルが変わらない単語。例- 数字={1,121,131,656,1221,1551} 言葉={saas、malayalam、level、mom} 複雑に見えますが、どのシステムでも非常に簡単に実行できます。それでは、回文について簡単に説明しましょう。 N番目の偶数の長さの回文数 11,22,33,44,55,66,77,88