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

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

Задан массив, заполненный случайными целыми положительными числами. Произвести его сортировку в порядке возрастания сумм всех делителей каждого элемента массива примечание Само число не считается для себя делителем.
DECLARE FUNCTION SD! (n!)
 
CLS
RANDOMIZE TIMER
n = 12
DIM A(1 TO n)
 
FOR i = 1 TO n
   A(i) = FIX(80 * RND) + 10
   PRINT A(i);
NEXT
PRINT : PRINT
 
FOR i = 1 TO n - 1
FOR j = i + 1 TO n
   IF SD(A(i)) > SD(A(j)) THEN SWAP A(i), A(j)
NEXT j, i
 
FOR i = 1 TO n
   PRINT A(i);
NEXT
END
 
FUNCTION SD (n)
   FOR i = 2 TO n / 2
      IF n MOD i = 0 THEN
         s = s + i
      END IF
   NEXT
   SD = s + 1
END FUNCTION

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

textual
  FOR i=2 TO SQR(n)

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


СОХРАНИТЬ ССЫЛКУ