М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
lizavetttok
lizavetttok
26.12.2020 10:40 •  Информатика

По данным целым числам 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).
решить

👇
Ответ:
StayStr0g
StayStr0g
26.12.2020

Так как язык не указан, написал пример на 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 в ле
4,5(37 оценок)
Ответ:
ViktorNiktophorov
ViktorNiktophorov
26.12.2020

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

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

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

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

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


По данным целым числам n и k вывести все последовательности натуральных чисел от 1 до n длины k в ле
4,5(31 оценок)
Открыть все ответы
Ответ:

3. Укажите соответствия.

1 поколение - ламповые машины.

2 поколение - полупроводниковые машины на транзисторах.

3 поколение - миникомпьютеры на интегральных схемах.

4 поколение - вычислительные системы на большой интегральной схеме.

4. Запишите пропущенные слова и словосочетания в предложениях.

Одним из первых устройств, облегчающих вычисления, можно считать абак. Следующим этапов люди изобрели аналоговый компьютер. А впоследствии и до сих пор мы пользуемся цифровым компьютером.

5. Заполните пропущенные слова и словосочетания в предложениях.

Робот является одним из признаков развития вычислительной техники пятого поколения, потому что в основе его лежит искусственный интеллект.

4,7(62 оценок)
Ответ:
3Belchonok3
3Belchonok3
26.12.2020
Var
{вводим точки, записываем в переменную max расстояние до первой точки, а в переменную max2 - номер точки. Если расстояние до следующей точки меньше, чем до первой точки, то сохраняем новые значения в max и max2}
x1,y1,x2,y2,x3,y3,max,max2:real;
    begin
         readln(x1,y1,x2,y2,x3,y3);       
           max:=sqrt(sqr(x1)+sqr(y1));       
           max2:=1;     
               if sqrt(sqr(x2)+sqr(y2))<=max then     
                  begin       
                      max:=sqrt(sqr(x2)+sqr(y2));       
                      max2:=2;     
                  end;     
              if sqrt(sqr(x3)+sqr(y3))<=max then     
                   begin       
                     max:=sqrt(sqr(x3)+sqr(y3));       
                     max2:=3;     
                   end;     
writeln(max,' ',max2);     
end.
4,6(24 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ