Найти количество трехзначных чисел, сумма цифр которых равна a, а само число заканчивается цифрой b - QBasic
Формулировка задачи:
Числа a и b – случайные числа, а из интервала [1; 28), b из интервала [0,10). Спасибо.
Решение задачи: «Найти количество трехзначных чисел, сумма цифр которых равна a, а само число заканчивается цифрой b»
textual
Листинг программы
CLS DECLARE FUNCTION sum! (i!) DECLARE FUNCTION rand! (a!, b!) a = rand(1, 27) b = rand(0, 9) PRINT "a ="; a, "b ="; b FOR i = 100 + a TO 999 STEP 10 IF sum(i) = a THEN k = k + 1: PRINT i; NEXT PRINT STRING$(80, 196) PRINT "k ="; k FUNCTION rand (a, b) RANDOMIZE TIMER rand = INT(RND * ABS(b - a + 1) + a) END FUNCTION FUNCTION sum (i) n = i WHILE n res = res + n MOD 10 n = n \ 10 WEND sum = res END FUNCTION
Объяснение кода листинга программы
- Объявлены две функции:
sumиrand. - Переменная
aинициализируется случайным трехзначным числом от 1 до 27. - Переменная
bинициализируется случайной цифрой от 0 до 9. - Выводится сообщение с текущими значениями переменных
aиb. - Запускается цикл, который перебирает трехзначные числа от 100 +
aдо 999 с шагом 10. - Для каждого числа проверяется, равна ли сумма его цифр переменной
a. Если да, то к переменнойkдобавляется 1 и число выводится на экран. - После окончания цикла выводится строка из 80 пробелов.
- Выводится сообщение с текущим значением переменной
k. - Определена функция
randдля генерации случайного числа в заданном диапазоне. - Определена функция
sumдля вычисления суммы цифр числа.