Найти трёхзначное число, которое первым встретится дважды - QBasic

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

Найти трёхзначное число, которое первым встретится дважды Условие задачи 1. Дан ряд чисел ln2, ln3, ln4, ln5, ln6, ln7, ... (длина не определена) то есть количество чисел вы должны взять столько, сколько нужно для решения задачи 2. Этот ряд преобразуется в следующий ряд по алгоритму. Поскольку числа вещественные, то надо после десятичной точки взять три цифры, которые образуют в общем случае трёхзначное натуральное число. 3. Эти числа и образуют новый ряд 4. Теперь надо найти в этом ряду такое число, которое первым встретится (считая с самого начала) два раза ... Вывести на экран это число и его местонахождение (два места)
REM
REM   i1 = 32, i2 = 87
REM
REM  x(32) = x(87) = 465
REM
 
CLS
DIM x(2 TO 1001)
 
FOR i = 2 TO 1001
   A = LOG(i)
   B = A - INT(A)
   C = 1000 * B
   D = INT(C)
   x(i) = D
NEXT
 
i1 = 2
i2 = 1001
 
FOR i = 2 TO 1000
FOR j = i + 1 TO 1001
   IF x(i) = x(j) THEN
      IF i2 > j THEN
         i1 = i
         i2 = j
      END IF
   END IF
NEXT j, i
 
PRINT x(i1); x(i2); i1; i2
END

Код к задаче: «Найти трёхзначное число, которое первым встретится дважды - QBasic»

textual
CLS
DIM a(1000), b(1000, 10)
k = 1
DO
d = LOG(k)
c = INT((d - INT(d)) * 1000)
a(c) = a(c) + 1: b(c, a(c)) = k
k = k + 1
LOOP UNTIL a(c) = 2
PRINT c; b(c, 1); b(c, 2);

9   голосов, оценка 4.000 из 5


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