Сортировка массива по возрастанию суммы делителей элементов этого массива - QBasic

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

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

Задан массив, заполненный случайными целыми положительными числами. Произвести его сортировку в порядке возрастания сумм всех делителей каждого элемента массива примечание Само число не считается для себя делителем.
Листинг программы
  1. DECLARE FUNCTION SD! (n!)
  2. CLS
  3. RANDOMIZE TIMER
  4. n = 12
  5. DIM A(1 TO n)
  6. FOR i = 1 TO n
  7. A(i) = FIX(80 * RND) + 10
  8. PRINT A(i);
  9. NEXT
  10. PRINT : PRINT
  11. FOR i = 1 TO n - 1
  12. FOR j = i + 1 TO n
  13. IF SD(A(i)) > SD(A(j)) THEN SWAP A(i), A(j)
  14. NEXT j, i
  15. FOR i = 1 TO n
  16. PRINT A(i);
  17. NEXT
  18. END
  19. FUNCTION SD (n)
  20. FOR i = 2 TO n / 2
  21. IF n MOD i = 0 THEN
  22. s = s + i
  23. END IF
  24. NEXT
  25. SD = s + 1
  26. END FUNCTION

Решение задачи: «Сортировка массива по возрастанию суммы делителей элементов этого массива»

textual
Листинг программы
  1.   FOR i=2 TO SQR(n)

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

  1. FOR i=2 TO SQR(n) - цикл, выполняющийся от 2 до квадратного корня из n (включительно)
  2. SQR(n) - вычисление квадратного корня из n (возможно, с использованием функции SQRT)
  3. n - количество элементов в массиве
  4. В каждой итерации цикла выполняется следующая последовательность действий:
    • Вычисляется сумма делителей текущего элемента массива (возможно, с использованием цикла и функций деления и остатка от деления)
    • Если эта сумма делится на текущий элемент массива без остатка, то этот элемент заменяется на сумму его делителей
    • Переход к следующему элементу цикла

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


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

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

6   голосов , оценка 4.167 из 5

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

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

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