Решение уравнения в простых числах - QBasic

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

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

Дано уравнение 19 * x + 22 * y + 29 * z = 700 Требуется решить его в простых числах. Собственно программа решала его в натуральных числах. В простых числах оказалось всего одно решение.
Листинг программы
  1. REM OTBET:
  2. REM
  3. REM x = 5; y = 13; z = 11
  4. REM
  5. CLS
  6. FOR x = 1 TO 100
  7. FOR y = 1 TO 100
  8. FOR z = 1 TO 100
  9. IF 19 * x + 22 * y + 29 * z = 700 THEN PRINT x; y; z
  10. NEXT z, y, x
  11. END

Решение задачи: «Решение уравнения в простых числах»

textual
Листинг программы
  1. DIM x AS LONG, y AS LONG, z AS LONG, s AS LONG
  2. s = 700
  3. FOR x = 0 TO s \ 19
  4. FOR y = 0 TO (s - x * 19) \ 22
  5.     z = s - x * 19 - y * 22
  6.     IF z / 29 = z \ 29 THEN
  7.         z = z \ 29
  8.         PRINT x; y; z, x * 19 + y * 22 + z * 29
  9.     END IF
  10. NEXT y, x

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

  1. Переменные x, y, z, s инициализируются как LONG типом данных.
  2. Значение переменной s устанавливается равным 700.
  3. Два вложенных циклах FOR проходят по всем допустимым значениям x и y от 0 до s\19 и от 0 до (s-x*19)\22 соответственно.
  4. В каждой итерации циклов пересчитывается значение переменной z как s-x19-y22.
  5. С помощью оператора IF проверяется, является ли z%29=z\29.
  6. Если это так, то значение переменной z уменьшается на 29 (z=z\29).
  7. Выводится значение переменных x, y и z, а также сумма x19+y22+z*29.
  8. Циклы завершаются с помощью команды NEXT, указывающей на то, что два вложенных цикла должны быть выполнены последовательно.

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


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

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

15   голосов , оценка 4 из 5

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

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

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