Что такое алгоритм для генерации следующей последовательности? - PullRequest
0 голосов
/ 21 февраля 2020

Я хочу найти функцию для генерации последовательности со следующим шаблоном.

1 2 3 1 1 2 2 3 3 1 1 1 1 2 2 2 2 3 3 3 3 ....

Где нижний ограниченный номер равен 1, верхний номер связан с номером 3. Каждый раз, когда числа начинаются с 1 и каждый число повторяется 2 ^ n раза, при этом n начинается с 0.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2020

Вот код на C ++:

#include <iostream>
#include <cmath>

int main()
{
    // These are the loop control variables
    int n, m, i, j, k;

    // Read the limit
    cin >> n;

    // Outermost loop to execute the pattern {1..., 2..., 3...} n times
    for (i = 0; i < n; ++i)
    {
        // This loop generates the required numbers 1, 2, and 3
        for (j = 1; j <= 3; ++j)
        {
            // Display the generated number 2^i times
            m = pow(2, i);
            for (k = 0; k < m; ++k)
            {
                std::cout << j << ' ';
            }
        }
    }
}

Вы можете использовать те же логи c на любом языке, который вы выберете для его реализации.

0 голосов
/ 21 февраля 2020

Ну вот, надеюсь, это поможет.

#include <iostream>
#include <math.h>

 int main(){

   for(int n = 0; n < 5;n++){
      for(int i = 1; i < 4;i++){
          for(int j = 0;j < pow(2,n) ;j++){
              std::cout << i;
          }
       }
    }

 return 0;
 }
...