Дано натуральное число: *найти произведение его цифр *верно ли, что в данном числе нет данной цифры А, А ввод. с клавиатуры
В паскале
Ответы на вопрос
Ответил SanyaClaus
0
var x, temp, p, a, original: integer;
found: boolean;
begin
found:=false; //переменная примет значение "истина" тогда, когда число А будет найдено в цифрах первого числа
writeln('Введите натуральное число");
Readln(original);
Writeln('Введите число A');
Readln(a);
x:=original;
p:=1; //будет хранить произведение цифр числа(если приравнять нулю, то произведение всегда будет равно нулю)
while x>0 do //пока X болльше нуля
begin
temp:=x mod 10; //заносим последнюю цифру числа X в переменную temp
if temp=a then found:=true; //если цифра числа равна A, то помечаем, что нашли ее
p:=p*temp; //домножаем произведение на цифру
x:=x div 10; //отбрасываем последнюю цифру числа через целочисленное деление
end;
Writeln('Произведение цифр числа ' + original + ' равно ' + p);
if found then writeln('Цифра' + a + ' есть в исходном числе ' + original)
else writeln('Цифра ' + a + ' отсутствует в оригинальном числе ' + original)
end;
found: boolean;
begin
found:=false; //переменная примет значение "истина" тогда, когда число А будет найдено в цифрах первого числа
writeln('Введите натуральное число");
Readln(original);
Writeln('Введите число A');
Readln(a);
x:=original;
p:=1; //будет хранить произведение цифр числа(если приравнять нулю, то произведение всегда будет равно нулю)
while x>0 do //пока X болльше нуля
begin
temp:=x mod 10; //заносим последнюю цифру числа X в переменную temp
if temp=a then found:=true; //если цифра числа равна A, то помечаем, что нашли ее
p:=p*temp; //домножаем произведение на цифру
x:=x div 10; //отбрасываем последнюю цифру числа через целочисленное деление
end;
Writeln('Произведение цифр числа ' + original + ' равно ' + p);
if found then writeln('Цифра' + a + ' есть в исходном числе ' + original)
else writeln('Цифра ' + a + ' отсутствует в оригинальном числе ' + original)
end;
Ответил mopozko123
0
writeln(p);
repeat {проверка на присутствие в произведении}
begin
m[p mod 10] := true;
p:= p div 10;
end;
until p = 0;
readln(a);{Ввод искомого числа}
if m[a] then writeln('Данное число присутствует' )
else writeln('Данное число отсутствует');
end.
repeat {проверка на присутствие в произведении}
begin
m[p mod 10] := true;
p:= p div 10;
end;
until p = 0;
readln(a);{Ввод искомого числа}
if m[a] then writeln('Данное число присутствует' )
else writeln('Данное число отсутствует');
end.
Ответил mopozko123
0
Сложно, но делает все указанное ТС
Ответил mopozko123
0
Я тут новичек, можете подсказать, как писать ответы не в комментах, а под самим заданием?
Ответил SanyaClaus
0
Морозко, если нет комментариев еще, то прям под заданием "Попросите больше объяснений", если есть уже, то там и оставляешь :)
Ответил SanyaClaus
0
Но массив немного некорректно использовать здесь.
Новые вопросы