Предмет: Информатика,
автор: ritka21
а)Поставьте подпрограмму-функцию, которая по заданному натуральному числу n вычислит сумму его цифр
б) Составьте алгоритм, подсчитывающий количество n-значных натуральных чисел, у каждого из которых сумма цифр равна заданному натуральному числу k
Ответы
Автор ответа:
0
ОТДЕЛ Задание+;
ИСПОЛЬЗУЕТ Вывод ИЗ "...ОтделыОбмен", Приём;
ПЕР
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)
КОН Задание.
Похожие вопросы
Предмет: Математика,
автор: zirovgeorgij73
Предмет: Математика,
автор: Ярикпавлов
Предмет: Қазақ тiлi,
автор: odieodie136
Предмет: Биология,
автор: natashacedukh9
Предмет: Информатика,
автор: Alenkalalala334