Сюжет задачи про шарики. Из урны с 10 пронумерованными шариками вынимают по одному шарику. Подсчитать общее количество ситуаций, когда номер хотя бы одного вынутого шарика совпадает с порядковым номером действия "вынимания", например, когда шарик № 3 будет вынут 3-им по порядку. Алгоритм генератора перестановок
1. Задать количество шариков n.
2. Создать массив пронумерованных шариков от 1 до n.
3. Целочисленная переменная i - номер шарика (от 1 до n), одновременно являющаяся счетчиком действий.
4. Создать функцию perestanovka от целочисленных m и n, которая генерирует перестановки, в зависимости от количества шариков (n) и в которой фигурирует номер очередного переставляемого шарика (m). В этой функции использовать условие: когда номер шага i равен номеру вынимаемого шарика m, печатать очередную перестановку. Во всех остальных случаях менять местами элементы с номерами i и m, после чего вызывать функцию perestanovka со следующим значением шага и опять же менять местами элементы с номерами i и m.
5. Основная программа: присваивание шарикам порядковых номеров, вызов функции perestanovka с параметрами 1 (первый шаг) и n (количество шариков).
Написать программу на c++
Проверенные ответы содержат информацию, которая заслуживает доверия. На «Знаниях» вы найдёте миллионы решений, отмеченных самими пользователями как лучшие, но только проверка ответа нашими экспертами даёт гарантию его правильности.
{Задача сделана на языке паскаль, при Оформление сделана как для студенческой задачи
Если есть во пиши в личку
Задача:Написать программу на языке программирования Pascal, которая вводит с клавиатуры 4 числа и выводит результат вычисления спо следующей схеме: "число1"−"число2"/"число3"+"число4"
Автор:
Дата: }
var x1, x2, x3, x4: integer;
f:real;
begin
//Ввод
writeln('введите 1 число');
readln(x1);
writeln('введите 2 число');
readln(x2);
writeln('введите 3 число');
readln(x3);
writeln('введите 4 число');
readln(x4); //решение
f:=(x1-x2)/(x3+x4);
//вывод
writeln (f);
end.
Для того, чтобы определить какое значение будет принимать переменная Х, после выполнения фрагмента исходной программы, пройдем по этой программе вручную следующим образом:
1) а: =4, b: = 5, с: = 3.
2) If a > b then x: = a + b
4 > 5 - не верно, значит переходим на следующий шаг программы после ключевого слова else:
3) else begin
a: = b + c = 5 + 3 = 8; получили, что значение a теперь равняется 8.
x:= а - 3 * b = 8 - 3 * 5 = 8 - 15 = -7.
4) Поскольку следующим идет команда end, значит программа завершает и получаем значение x: = -7.
Таким образом правильный вариант ответа - г).
Объяснение: