Сдрасте
даны 2 числа , "a" и "b" , нужно найти есть ли в этих 2 - ух числах одинаковые цифры , например
256 и 216 , совпадающими буду 2 и 6 , заранее неизвестно какой длины число , в этом собственно и проблема.
есть идея сделать цикл repeat и в нём делить числа (mod) но как правильно это сделать никак не пойму , помогите пожалуйста
сделай цикл for от 0 до 9, и внутри него проверяй, есть ли такая цифра в каждом из чисел.
а они должны быть на одинаковых местах? или не обязательно?
цифры должны быть на одинаковых местах , и нам заранее низвестно СКОЛЬКО цифр в числе и КАКИЕ они , как я понял нужно использовать mod но вот на что именно делить ...
На 10, естественно... Проходишь по двум числам одновременно деля их на 10, и смотришь, равны ли остатки от деления. Если равны - то и выводишь их на печать...
Цикл заканчивается, когда одно из чисел становится равным 0...
вот что у меня получилось
Я бы на твоем месте почитал книжку (в частности - о работе с логическими выражениями, ибо оно у тебя записано вообще неправильно)...
varТак лучше?
a, b: integer;
begin
readln(a);
readln(b);
repeat
if (a mod 10) = (b mod 10) then writeln(a mod 10);
a := a div 10; b := b div 10;
until (a = 0) or (b = 0)
end.