Написать программу в PascalABC.NET, используя функцию " function ". Сама задача: ...

0 голосов
110 просмотров

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


Информатика (91 баллов) | 110 просмотров
0

Непонятно, как получается четвертая цифра. Для комбинаций из трех хаданных цифр спереди сначала 1 добваляется, потом добавляются 2, 3, ... 9 ?

Дан 1 ответ
0 голосов

// 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.


image
(1.6k баллов)
0

Версия PascalABC.NET должна быть не древнее 01.05.2020