Предмет: Информатика,
автор: saksonov97
Среди 5 значных чисел найти числа с одинаковыми цифрами
Распишите, всё подробно пожалуйста.
Ответы
Автор ответа:
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. Начал было перегружать оператор сравнивания, но головная боль лишняя, да и тоже не школьное это
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. Начал было перегружать оператор сравнивания, но головная боль лишняя, да и тоже не школьное это
Похожие вопросы
Предмет: Обществознание,
автор: kenzebekovaerkajymka
Предмет: Қазақ тiлi,
автор: Tskhe07
Предмет: Литература,
автор: neskazu6
Предмет: География,
автор: svetakara
Предмет: Математика,
автор: дашаааа135