Дано натуральное число n. найти и вывести все числа в интервале от 1 до n — 1, у которых произведение всех цифр совпадает с суммой цифр данного числа. если таких чисел нет, то вывести слово "нет". написать программу в программе pascalabc.net.

ElvirO ElvirO    3   28.08.2019 00:20    0

Ответы
Fizruk115 Fizruk115  05.10.2020 23:41
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

function SumD(k:integer):integer;
begin
  Result:=0;
  while k>0 do (Result,k):=(Result+k mod 10,k div 10)
end;

function Good(k,s:integer):boolean;
begin
  var p:=1;
  while k>0 do (p,k):=(p*(k mod 10),k div 10);
  Result:=p=s
end;

begin
  var n:=ReadInteger('n=');
  var s:=SumD(n);
  Range(1,n-1).Where(n->Good(n,s)).Println
end.

Пример
n= 44
8 18 24 42
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика