
Написать программу в PascalABC.NET, используя функцию " function <название функции> ". Сама
задача: Вывести все натуральные четырехзначные числа, в которых есть все три заданные цифры. Формат ввода: На вход подается цифры n1, n2, n3 (от 0 до 9). Формат вывода: Полученные числа в одну строку через 1 пробел. Пример входных данных 3 7 9 Пример выходных данных 1379 1397 1739 1793 1937 1973 2379.....

Ответы на вопрос

// PascalABC.NET
function ХочетсяСтранного(n1, n2, n3: integer): sequence of integer;
begin
var a := Seq(n1, n2, n3).Sorted.ToArray;
var s := a.Permutations.Select(t -> 100 * t[0] + 10 * t[1] + t[2]);
foreach var i in 1..9 do
foreach var n in s do
yield 1000*i+n
end;
begin
var (n1, n2, n3) :=
ReadInteger3('Введите три цифры через пробел:');
ХочетсяСтранного(n1, n2, n3).Print
end.




Конечно! Вот пример программы на PascalABC.NET, решающей данную задачу:
pascalprogram FindNumbers; function ContainsAllDigits(number: Integer; digit1, digit2, digit3: Integer): Boolean; var tempNumber: Integer; digitCount: array[0..9] of Integer; begin tempNumber := number; // Инициализируем счетчики цифр for var i := 0 to 9 do digitCount[i] := 0; // Считаем количество каждой цифры в числе while tempNumber > 0 do begin digitCount[tempNumber mod 10] := digitCount[tempNumber mod 10] + 1; tempNumber := tempNumber div 10; end; // Проверяем, что все заданные цифры присутствуют в числе Result := (digitCount[digit1] > 0) and (digitCount[digit2] > 0) and (digitCount[digit3] > 0); end; procedure PrintNumbersWithDigits(digit1, digit2, digit3: Integer); var number: Integer; begin // Перебираем все четырехзначные числа for number := 1000 to 9999 do begin if ContainsAllDigits(number, digit1, digit2, digit3) then Write(number, ' '); end; end; var digit1, digit2, digit3: Integer; begin // Читаем входные данные ReadLn(digit1, digit2, digit3); // Выводим числа, удовлетворяющие условию PrintNumbersWithDigits(digit1, digit2, digit3); end.
Программа начинает с объявления функции ContainsAllDigits
, которая проверяет, содержит ли число все заданные цифры. Затем есть процедура PrintNumbersWithDigits
, которая перебирает все четырехзначные числа и выводит те, которые удовлетворяют условию.
В основной части программы считываются входные данные (три заданные цифры) и вызывается процедура PrintNumbersWithDigits
для вывода результата.
Вы можете скопировать этот код и выполнить его в среде разработки PascalABC.NET, чтобы увидеть результат.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili