Решение уравнения в натуральных числах (2) - QBasic

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

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

Решить в натуральных числах уравнение [x^n] + [y^n] = [x^n] n = 2.5 функция [x] эквивалентна INT(x) программа нашла 11 решений.
Листинг программы
  1. REM
  2. REM [x^n] + [y^n] = [x^n] n = 2.5
  3. REM
  4. REM 11 решений
  5. REM
  6. DIM M(1000) AS LONG
  7. CLS
  8. n = 2.5
  9. FOR i = 1 TO 1000
  10. M(i) = INT(i ^ n)
  11. NEXT i
  12. FOR z = 2 TO 500
  13. IF z MOD 50 = 0 THEN PRINT z
  14. FOR y = 10 TO z - 1
  15. FOR x = 1 TO y
  16. IF M(x) + M(y) = M(z) THEN
  17. PRINT x; y; z
  18. END IF
  19. NEXT x
  20. NEXT y
  21. NEXT z
  22. END

Решение задачи: «Решение уравнения в натуральных числах (2)»

textual
Листинг программы
  1. DIM f(1 TO 9999) AS LONG, x AS LONG, y AS LONG, z AS LONG, n AS DOUBLE, m AS LONG, l AS LONG, r AS LONG
  2. n = 2.5
  3. m = INT((2 ^ 31 - 1) ^ (1 / n))
  4. FOR x = 1 TO m
  5.    f(x) = INT(x ^ n)
  6. NEXT x
  7. FOR z = 1 TO m
  8. FOR x = 1 TO z - 1
  9. IF f(x) > f(z) \ 2 THEN EXIT FOR
  10. y = INT((f(z) - f(x)) ^ (1 / n))
  11. FOR y = y TO y + 1
  12.     IF f(z) - f(y) - f(x) = 0 THEN PRINT x; y; z
  13. NEXT y, x, z

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

В этом коде:

  1. Создаются массив f размером 9999 и переменные x, y, z, n, m, l, r.
  2. Значение переменной n устанавливается равным 2.5.
  3. Вычисляется значение переменной m как целочисленного корня из (2 в степени 31 - 1) в степени 1/n.
  4. В цикле от 1 до m в массив f записываются значения x в степени n.
  5. В цикле от 1 до m в переменной z запрашивается значение от 1 до m-1, в переменной x - текущее значение z.
  6. Если значение в переменной f(x) больше половины значения в переменной f(z), то цикл прерывается.
  7. Вычисляется значение переменной y как целочисленного корня из (f(z) - f(x)) в степени 1/n.
  8. В цикле от y до y+1 проверяется, равно ли значение в переменной f(z) - f(y) - f(x) нулю. Если это так, то печатаются значения x, y, z.

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


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

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

12   голосов , оценка 3.917 из 5

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

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

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