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

C ++で{0、1、2、3、4、5}の数字を持つn番目の数値


数字{0、1、2、3、4、5}で形成された数字は

0、1、2、3、4、5、10、11、12、13、14、15、20、21、22、23、24、25など。

上記のシーケンスは、最初の6桁を使用して作成できます。数の形成の例を見てみましょう。

1 * 10 + 0 = 10
1 * 10 + 1 = 11
1 * 10 + 2 = 12
1 * 10 + 3 = 13
1 * 10 + 4 = 14
1 * 10 + 5 = 15

同様に、番号2、3、4、5を申請します。上記のパターンを使用して、2で次の6つの番号を取得します。そして3、その後4と5。

アルゴリズム

  • 番号nを初期化します。
  • ベクトルを初期化します。
  • 0から5まで繰り返すループを作成します。
    • すべての数値をベクトルにプッシュします。
  • シリーズの最初の6つの番号があります。
  • 0からn/6まで繰り返すループを記述します。
    • 0から5まで繰り返すループを作成します。
      • 上記のパターンで残りの数値を生成します。
      • それらをベクターにプッシュします。
  • シーケンスからn番目の数値を返します。

実装

以下は、C++での上記のアルゴリズムの実装です

#include <bits/stdc++.h>

using namespace std;

int findNthNumber(int n) {
   vector<int> numbers;

   for (int i = 0; i < 6; i++) {
      numbers.push_back(i);
   }
   for (int i = 0; i <= n / 6; i++) {
      for (int j = 0; j < 6; j++) {
         if ((numbers[i] * 10) != 0) {
            numbers.push_back(numbers[i] * 10 + numbers[j]);
         }
      }
   }
   return numbers[n - 1];
}
int main() {
   int n = 7;
   cout << findNthNumber(n) << endl;
   return 0;
}

出力

上記のコードを実行すると、次の結果が得られます。

10

  1. C++でのN番目のTribonacci番号

    値nがあるとすると、n番目のTribonacci番号を生成する必要があります。トリボナッチ数はフィボナッチ数に似ていますが、ここでは前の3つの項を追加して項を生成しています。 T(n)を生成したい場合、式は次のようになります- T(n) = T(n - 1) + T(n - 2) + T(n - 3) 最初のいくつかの数字は{0、1、1}です。 このアルゴリズムに従うことでそれらを解決できます- アルゴリズム • first := 0, second := 1, third := 1 • for i in range n – 3, do   &nb

  2. 数字が7のみで、C++で合計が与えられた最小数

    問題の説明 ラッキーナンバーは、小数表現にラッキー数字4と7のみが含まれる正の整数です。タスクは、数字の合計がnに等しい最小のラッキーナンバーを見つけることです。 例 合計=22の場合、ラッキーナンバーは4 + 4 + 7 + 7=22として4477です アルゴリズム 1. If sum is multiple of 4, then result has all 4s. 2. If sum is multiple of 7, then result has all 7s. 3. If sum is not multiple of 4 or 7, then we can subtract