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

フィボナッチの位置にOが付いた名前を見つけるためのC++コード


数nがあるとします。アマルは自分のペットに名前を付けたいと思っています。彼はアルゴリズムに従います。名前はn文字の長さになります。名前には、大文字と小文字の「O」と「o」が含まれます。アルゴリズムは、名前のi番目の文字がフィボナッチ数列のメンバーである場合は「O」(大文字)であり、それ以外の場合は「o」(小文字)である必要があることを示唆しています。名前の文字には1からnまでの番号が付けられています。

したがって、入力がn =10の場合、最初のフィボナッチ数は1、2、3、5などであるため、出力は「OOOoOooOoo」になります。

ステップ

これを解決するには、次の手順に従います-

s := a string of size n and filled with 'o's
for initializing i and j from 1, when i <= n, increase i by j and set
j := i-j after each iteration, do
   s[i-1] := 'O'
return s.

理解を深めるために、次の実装を見てみましょう-

#include <bits/stdc++.h>
using namespace std;
string solve(int n){
   string s(n, 'o');
   for (int i = 1, j = 1; i <= n; i += j, j = i - j)
      s[i - 1] = 'O';
   return s;
}
int main(){
   int n = 10;
   cout << solve(n) << endl;
}

入力

10

出力

OOOoOooOoo

  1. C++で与えられた力を持つ部分文字列を見つける

    この問題では、文字列strと整数powが与えられます。私たちの仕事は、与えられた力を持つサブストリングを見つけることです 。 パワーがpowに等しいサブストリングを返す必要があります。 文字列の力 はそのキャラクターの力の合計です。 3、... 問題を理解するために例を見てみましょう Input : string = "programming" power = 49 Output : 'pro' 説明 − Power of matrix : pro, power(p) = 16 power(p) = 18 power(p) = 15 Tota

  2. C++で指定されたインデックスを持つNフィボナッチ数のGCDを検索します

    ここでは、指定されたインデックスを持つn個のフィボナッチ項のGCDを見つける必要があります。したがって、最初に最大インデックスを取得し、フィボナッチ項を生成する必要があります。いくつかのフィボナッチ項は次のようになります:0、1、1、2、3、5、8、13、21、34、…..インデックスは開始です0から。したがって、0 thの要素 インデックスは0です。インデックス{2、3、4、5}でフィボナッチ項のgcdを見つける必要がある場合、項は{1、2、3、4}であるため、これらの数値のGCDは1です。 このタスクを実行するために、1つの興味深いアプローチを使用します。 GCD(Fibo(i)、Fi