А)поставьте подпрограмму-функцию, которая по заданному натуральному числу n вычислит сумму его цифр б) составьте алгоритм, подсчитывающий количество n-значных натуральных чисел, у каждого из которых сумма цифр равна заданному натуральному числу k
ОТДЕЛ Задание+; ИСПОЛЬЗУЕТ Вывод ИЗ "...\Отделы\Обмен\", Приём;
ПЕР n, k, сч, мин, кол: ЦЕЛ;
ЗАДАЧА Сумма_цифр(число: ЦЕЛ): ЦЕЛ; ПЕР сумма: ЦЕЛ; УКАЗ сумма := 0; ПОКА число > 0 ВЫП УВЕЛИЧИТЬ(сумма, число ОСТАТОК 10); число := число ДЕЛИТЬ 10 КОН; ВОЗВРАТ сумма КОН Сумма_цифр;
УКАЗ Вывод.Цепь("n: "); n := Приём.Число(); Вывод.Цепь("^k: "); k := Приём.Число(); мин := 1; ОТ сч := 1 ДО n - 1 ВЫП мин := мин * 10 КОН; кол := 0; ОТ сч := мин ДО мин * 10 - 1 ВЫП ЕСЛИ Сумма_цифр(сч) = k ТО УВЕЛИЧИТЬ(кол) КОН КОН; Вывод.ЧЦел("^%d", кол, 0, 0, 0)
ИСПОЛЬЗУЕТ Вывод ИЗ "...\Отделы\Обмен\", Приём;
ПЕР
n, k, сч, мин, кол: ЦЕЛ;
ЗАДАЧА Сумма_цифр(число: ЦЕЛ): ЦЕЛ;
ПЕР
сумма: ЦЕЛ;
УКАЗ
сумма := 0;
ПОКА число > 0 ВЫП
УВЕЛИЧИТЬ(сумма, число ОСТАТОК 10);
число := число ДЕЛИТЬ 10
КОН;
ВОЗВРАТ сумма
КОН Сумма_цифр;
УКАЗ
Вывод.Цепь("n: ");
n := Приём.Число();
Вывод.Цепь("^k: ");
k := Приём.Число();
мин := 1;
ОТ сч := 1 ДО n - 1 ВЫП
мин := мин * 10
КОН;
кол := 0;
ОТ сч := мин ДО мин * 10 - 1 ВЫП
ЕСЛИ Сумма_цифр(сч) = k ТО
УВЕЛИЧИТЬ(кол)
КОН
КОН;
Вывод.ЧЦел("^%d", кол, 0, 0, 0)
КОН Задание.