Дано n натуральное. найти и вывести все числа в интервале от 10 до n-1, у которых...

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

Дано n натуральное. найти и вывести все числа в интервале от 10 до n-1, у которых произведение всех цифр совпадает с суммой цифр данного числа. Если таких чисел нет вывести "Нет".
Паскаль


Информатика (236 баллов) | 55 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var
  i, n, j, p, s: longint;
  st: string;
  b: boolean;
 begin
  s := 0;
  b := false;
  readln(n);
  for i := 1 to n.ToString.Length do
  s := s + strtoint(n.ToString[i]);
for i := 10 to n - 1 do
  begin
    st := i.ToString;
    p := 1;
    for j := 1 to st.Length do
      p := p * strtoint(st[j]);
    if(p = s) then begin b := true;writeln(i); end;
   end;
  if(b = false) then write('Нет');
end.

(6.9k баллов)