Найти количество трехзначных чисел, сумма цифр которых равна a, а само число заканчивается цифрой b - QBasic

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

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

Числа a и b – случайные числа, а из интервала [1; 28), b из интервала [0,10). Спасибо.

Решение задачи: «Найти количество трехзначных чисел, сумма цифр которых равна a, а само число заканчивается цифрой b»

textual
Листинг программы
  1. CLS
  2. DECLARE FUNCTION sum! (i!)
  3. DECLARE FUNCTION rand! (a!, b!)
  4. a = rand(1, 27)
  5. b = rand(0, 9)
  6. PRINT "a ="; a, "b ="; b
  7. FOR i = 100 + a TO 999 STEP 10
  8.     IF sum(i) = a THEN k = k + 1: PRINT i;
  9. NEXT
  10. PRINT STRING$(80, 196)
  11. PRINT "k ="; k
  12.  
  13. FUNCTION rand (a, b)
  14. RANDOMIZE TIMER
  15. rand = INT(RND * ABS(b - a + 1) + a)
  16. END FUNCTION
  17.  
  18. FUNCTION sum (i)
  19. n = i
  20. WHILE n
  21.     res = res + n MOD 10
  22.     n = n \ 10
  23. WEND
  24. sum = res
  25. END FUNCTION

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

  1. Объявлены две функции: sum и rand.
  2. Переменная a инициализируется случайным трехзначным числом от 1 до 27.
  3. Переменная b инициализируется случайной цифрой от 0 до 9.
  4. Выводится сообщение с текущими значениями переменных a и b.
  5. Запускается цикл, который перебирает трехзначные числа от 100 + a до 999 с шагом 10.
  6. Для каждого числа проверяется, равна ли сумма его цифр переменной a. Если да, то к переменной k добавляется 1 и число выводится на экран.
  7. После окончания цикла выводится строка из 80 пробелов.
  8. Выводится сообщение с текущим значением переменной k.
  9. Определена функция rand для генерации случайного числа в заданном диапазоне.
  10. Определена функция sum для вычисления суммы цифр числа.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы