Определить числа, сумма которых равна 300 - QBasic
Формулировка задачи:
Дано 9 рандомных чисел. И надо вынести на экран
те из них, что в сумме дадут число 300.
Решение задачи: «Определить числа, сумма которых равна 300»
textual
Листинг программы
Sub Main() Dim X(0 To 8) As Integer Dim P(0 To 8) As Integer Randomize For i% = 0 To 8 X(i%) = Rnd() * 100 Next i% For i% = 1 To 511 s% = 0 k% = 1 For j% = 0 To 8 If i% And k% Then s% = s% + X(j%) P(j%) = 1 Else P(j%) = 0 End If k% = k% * 2 Next j% If s% = 300 Then For j% = 0 To 8 If P(j%) Then Debug.Print X(j%); " "; Next j% Debug.Print End If Next i% End Sub
Объяснение кода листинга программы
- Объявлены две матрицы: X и P. Обе матрицы имеют размерность 0-8 и содержат целочисленные значения.
- Задана начальная и конечная сумма для каждой строки матрицы P.
- В каждой строке матрицы X случайным образом генерируются числа от 0 до 100.
- Переменная i используется для перебора всех возможных комбинаций чисел от 0 до 8.
- Переменная s используется для хранения суммы чисел в текущей строке.
- Переменная k используется для перебора всех возможных комбинаций чисел от 0 до 8.
- Если i и k равны 1, то текущее значение X добавляется к s.
- Если i и k равны 0, то переменная P получает значение 0.
- Если i и k равны 1, то переменная P получает значение 1.
- Значение k умножается на 2.
- Если s равно 300, то выводится текущая строка чисел.
- Значение i умножается на 1 и добавляется к номеру строки.
- Если P равно 1, то выводится текущее значение X.
- Значение i умножается на 8 и добавляется к номеру столбца.
- Значение i умножается на 1 и добавляется к номеру строки.
- Значение i умножается на 8 и добавляется к номеру столбца.
- Если P равно 0, то выводится текущее значение X.
- Значение i умплицируется на 8 и добавляется к номеру строки.
- Значение i умплицируется на 1 и добавляется к номеру столбца.
- Значение i умплицируется на 8 и добавляется к номеру строки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д