Дано натуральное число N. Отыскать и вывести все числа в промежутке

Дано естественное число N. Найти и вывести все числа в промежутке от 1 до N 1, у которых творенье всех цифр совпадает с суммой цифр данного числа. Если таких чисел нет, то вывести слово "нет". Помогите пожалуйста написать программу в программке PascalABC.NET.

Задать свой вопрос
1 ответ
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

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

function Good(k,s:integer):boolean;
begin
  var p:=1;
  while kgt;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-gt;Good(n,s)).Println
end.

Пример
n= 44
8 18 24 42
Рящин Арсений
Слушай в учебнике дан пример "N=44. Получаются числа 18 и 24". А когда по твоей программке там таких чисел вообще нет...
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт