В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
Brynd
Brynd
29.08.2022 22:21 •  Информатика

По данным целым числам n и k вывести все последовательности натуральных чисел от 1 до n длины k в лексикографическом порядке. Например при n = 2 и k = 2 ответ: (1;1), (1;2); (2;1); (2;2). По данным целым числам n и k вывести все последовательности натуральных чисел от 1 до n длины k в лексикографическом порядке. Например при n = 2 и k = 2 ответ: (1;1), (1;2); (2;1); (2;2).
решить

Показать ответ
Ответ:
ruchev06
ruchev06
15.10.2020 16:27

Так как язык не указан, написал пример на C++

К ответу прилагаются скриншоты кода и примера запуска.

Код:

#include <iostream>

#include <vector>

void complex_loop(int from, int to, int pointer, int depth,

                 std::vector<int> markers,

                 const std::function<void(std::vector<int>)>& do_something)

{

   if (pointer < depth - 1)

   for (markers[pointer] = from; markers[pointer] <= to; ++markers[pointer]){

       complex_loop(from, to, pointer+1, depth, markers, do_something);

   }

   else

   for (markers[pointer] = from; markers[pointer] <= to; ++markers[pointer]){

       do_something(markers);

   }

}

void complex_loop(int from, int to, int depth,

                 const std::function<void(std::vector<int>)>& do_something)

{

   complex_loop(from, to, 0, depth, std::vector(depth, from), do_something);

}

template <typename T>

void print_sequence(std::vector<T> sequence) {

   std::cout << "(" << sequence[0];

   for(auto i = 1; i < sequence.size(); ++i){

       std::cout << ";" << sequence[i];

   }

   std::cout << "); ";

}

int main() {

   int n, k;

   std::cin >> n >> k;

   complex_loop(1, n, k, print_sequence<int>);

   return 0;

}


По данным целым числам n и k вывести все последовательности натуральных чисел от 1 до n длины k в ле
По данным целым числам n и k вывести все последовательности натуральных чисел от 1 до n длины k в ле
По данным целым числам n и k вывести все последовательности натуральных чисел от 1 до n длины k в ле
0,0(0 оценок)
Ответ:
zhovnovich
zhovnovich
15.10.2020 16:27

Написано на Python 3.7.2

Программа и результат работы на тестовом примере на скрине

============  

Не забывайте нажать " ", поставить оценку и, если ответ удовлетворил, то выберите его как "Лучший"

Успехов в учебе


По данным целым числам n и k вывести все последовательности натуральных чисел от 1 до n длины k в ле
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота