Определить количество трехзначных натуральных чисел, сумма цифр которых равна заданному числу N - QBasic

Узнай цену своей работы

Формулировка задачи:

помогите пожалуйста решить задачу "определить количество трехзначных натуральных чисел, сумма цифр которых равна заданному числу N" заранее спасибо.

Решение задачи: «Определить количество трехзначных натуральных чисел, сумма цифр которых равна заданному числу N»

textual
Листинг программы
DECLARE FUNCTION f! (m!)
CLS
CLEAR , , 24000
DIM SHARED n
INPUT "N = "; n
PRINT f(999)
END
 
FUNCTION f (m)
   IF m < 100 THEN EXIT FUNCTION
   IF m MOD 10 + m \ 100 + m \ 10 MOD 10 = n THEN k = 1
   f = f(m - 1) + k
END FUNCTION

Объяснение кода листинга программы

  1. Установка начальных значений переменных и функций — CLS — очистка экрана — CLEAR , , 24000 - очистка переменных и функций — DIM SHARED n — объявление и инициализация переменной n — INPUT N =; n — ввод числа N с клавиатуры — PRINT f(999) — вывод результата функции f(999)
  2. Определение функции f — FUNCTION f (m) — объявление функции f с аргументом m — IF m < 100 THEN EXIT FUNCTION — проверка условия выхода из функции — IF m MOD 10 + m \ 100 + m \ 10 MOD 10 = n THEN k = 1 — проверка условия для нахождения трехзначных чисел — f = f(m — 1) + k — рекурсивный вызов функции f и добавление единицы к результату при выполнении условия
  3. Возврат результата — END FUNCTION — завершение определения функции f — f(999) — вызов функции f с аргументом 999

Оцени полезность:

11   голосов , оценка 4.273 из 5
Похожие ответы