Написать программу, которая обретает схожие числа 2-ух чисел. В pascal, желательно
Написать программку, которая обретает схожие цифры 2-ух чисел. В pascal, желанно через function. Можно чтобы токого не было.Входные данные:466 476. Выходные даныые:6 6.
Заблаговременно спасибо
Александра Дежичева
да*
Таня Пелымская
Формат вывода полный пожалуйста
Ванятин
Паша
4,6,6
Lesha Chuvychin
2 шестерки почему?
Валера Гульчевский
1 раз повторяется
Тамара Нэмени
Давайте тогда такие входныеданнын:466, 567. Тогда выходные будут 6, 6 . А мне нужно просто 6
Валентина Милинкина
Выход одна шестерка?
Jelvira Gdanjan
чтоб была
Алла Мехоева
да
Лариса Смирнова-Колесова
Хорошо.
1 ответ
Милена
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программка не работает, обновите версию!
function Duplicates(a,b:int64):array of char;
begin
var ha:=a.ToString.ToHashSet;
ha.IntersectWith(b.ToString.ToHashSet);
Result:=ha.ToArray
end;
begin
var m,n:int64;
Write('Введите через пробел два естественных числа: ');
Read(m,n);
var r:=Duplicates(m,n);
if r.Length=0 then Writeln('Нет цифр, встречающихся в обоих числах')
else r.Println(',')
end.
Образцы
Введите через пробел два натуральных числа: 12345 6789067
Нет цифр, встречающихся в обоих числах
Введите через пробел два натуральных числа: 1342103 6748644
4
Реализация без множеств
procedure nToArray(n:int64; a:array of boolean);
begin
for var i:=0 to 9 do a[i]:=False;
if n=0 then a[0]:=True
else
while ngt;0 do begin
a[n mod 10]:=True;
n:=n div 10
end
end;
function Duplicates(a,b:int64):array of boolean;
begin
var ma:=new boolean[10];
var mb:=new boolean[10];
nToArray(a,ma);
nToArray(b,mb);
Result:=new boolean[10];
for var i:=0 to 9 do
Result[i]:=ma[i] and mb[i]
end;
begin
var m,n:int64;
Write('Введите через пробел два натуральных числа: ');
Read(m,n);
var r:=Duplicates(m,n);
Write('Совпадающие числа: ');
for var i:=0 to 9 do
if r[i] then Write(i,' ');
Writeln
end.
Пример
Введите через пробел два естественных числа: 12352423 98789635233
Совпадающие числа: 2 3 5
Внимание! Если программка не работает, обновите версию!
function Duplicates(a,b:int64):array of char;
begin
var ha:=a.ToString.ToHashSet;
ha.IntersectWith(b.ToString.ToHashSet);
Result:=ha.ToArray
end;
begin
var m,n:int64;
Write('Введите через пробел два естественных числа: ');
Read(m,n);
var r:=Duplicates(m,n);
if r.Length=0 then Writeln('Нет цифр, встречающихся в обоих числах')
else r.Println(',')
end.
Образцы
Введите через пробел два натуральных числа: 12345 6789067
Нет цифр, встречающихся в обоих числах
Введите через пробел два натуральных числа: 1342103 6748644
4
Реализация без множеств
procedure nToArray(n:int64; a:array of boolean);
begin
for var i:=0 to 9 do a[i]:=False;
if n=0 then a[0]:=True
else
while ngt;0 do begin
a[n mod 10]:=True;
n:=n div 10
end
end;
function Duplicates(a,b:int64):array of boolean;
begin
var ma:=new boolean[10];
var mb:=new boolean[10];
nToArray(a,ma);
nToArray(b,mb);
Result:=new boolean[10];
for var i:=0 to 9 do
Result[i]:=ma[i] and mb[i]
end;
begin
var m,n:int64;
Write('Введите через пробел два натуральных числа: ');
Read(m,n);
var r:=Duplicates(m,n);
Write('Совпадающие числа: ');
for var i:=0 to 9 do
if r[i] then Write(i,' ');
Writeln
end.
Пример
Введите через пробел два естественных числа: 12352423 98789635233
Совпадающие числа: 2 3 5
Маргарита
ок
Колек Баровских
Min значение int64 = -9223372036854775808Max значение int64 = 9223372036854775807
Nikolaj Hmelinskij
Почему? Этот код же практически поход на код ТурбоПаскаля за исключения кое-каких деталей
Есения Зубяирова
похож*
Пашевкин
Вадим
Видимо
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов