Среди 5 значных чисел найти числа с одинаковыми цифрами Распишите, всё подробно...

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

Среди 5 значных чисел найти числа с одинаковыми цифрами

Распишите, всё подробно пожалуйста.


Информатика (14 баллов) | 19 просмотров
Дан 1 ответ
0 голосов
function nums(a: integer): System.uint64; //очень_длинное_число, 10 цифр же, кортеж не стал лепить, не школьный это тип, а массивы не очень-то сравниваться любят
var
  num: array [0..9] of byte;
begin
  foreach c: char in a.ToString() do
    num[StrToInt(c)] += 1;
  result := System.uint64.Parse(
            String.Concat(num[0], num[1], num[2], num[3], num[4],
                          num[5], num[6], num[7], num[8], num[9]));
end;

var
     a: array [1..5] of System.uint64;
  i, j: byte;

begin
  for i := 1 to 5 do
    readln(a[i]);
  for i := 1 to 4 do
    for j := i + 1 to 5 do
      if (nums(a[i]) = nums(a[j])) then
        writeln(a[i], ' <-> ', a[j]);
end.

P.S. Начал было перегружать оператор сравнивания, но головная боль лишняя, да и тоже не школьное это
(16.9k баллов)