Найти количество четырехзначных чисел по условию - QBasic
Формулировка задачи:
Найти число четырехзначных чисел таких, что
цифры одной четности рядом не стоят и сумма
этих цифр не превышает 5. (ответ 102 числа)
Вопрос
Можно ли решить задачу иначе?
Листинг программы
- REM
- REM 102
- REM
- CLS
- FOR x = 1 TO 5
- FOR y = 0 TO 5
- IF y - x MOD 2 = 0 THEN GOTO 100
- IF y + x > 5 THEN GOTO 100
- FOR z = 0 TO 5
- IF z - y MOD 2 = 0 THEN GOTO 200
- IF z + y > 5 THEN GOTO 200
- FOR u = 0 TO 5
- IF u - z MOD 2 = 0 THEN GOTO 300
- IF u + z > 5 THEN GOTO 300
- k = k + 1
- 300
- NEXT u
- 200
- NEXT z
- 100
- NEXT y
- NEXT x
- PRINT k
- END
Решение задачи: «Найти количество четырехзначных чисел по условию»
textual
Листинг программы
- DIM a AS LONG, b AS LONG, c AS LONG, d AS LONG, k AS LONG
- FOR a = 1 TO 5
- FOR b = 0 TO 5
- FOR c = 0 TO 5
- FOR d = 0 TO 5
- IF (a + b) * (b + c) * (c + d) MOD 2 = 1 AND a + b <= 5 AND b + c <= 5 AND c + d <= 5 THEN k = k + 1
- NEXT d, c, b, a
- PRINT k
Объяснение кода листинга программы
- DIM a AS LONG, b AS LONG, c AS LONG, d AS LONG, k AS LONG — в этой строке объявляются переменные a, b, c, d и k типа LONG (целые числа со знаком).
- FOR a = 1 TO 5 — начинается цикл по переменной a от 1 до 5.
- FOR b = 0 TO 5 — начинается цикл по переменной b от 0 до 5.
- FOR c = 0 TO 5 — начинается цикл по переменной c от 0 до 5.
- FOR d = 0 TO 5 — начинается цикл по переменной d от 0 до 5.
- IF (a + b) (b + c) (c + d) MOD 2 = 1 AND a + b <= 5 AND b + c <= 5 AND c + d <= 5 THEN k = k + 1 — выполняется проверка условия: — Сначала проверяется, является ли трехчлен (a+b)(b+c)(c+d) нечетным (MOD 2=1). — Затем проверяется, что сумма трех переменных (a+b, b+c, c+d) не превышает 5. — Если все условия выполняются, то значение переменной k увеличивается на 1.
- NEXT d, c, b, a — выполняется переход к следующему шагу цикла по переменной d, затем по переменной c, затем по переменной b и, наконец, по переменной a.
- PRINT k — выводится значение переменной k.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д