В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Danila1367
Danila1367
14.07.2020 00:12 •  Информатика

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

Показать ответ
Ответ:
ivanm29
ivanm29
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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота