Примеры программ на языке QBASIC

Генерация палиндромов, квадраты которых тоже палиндромы


REM Генерация палиндромов, квадраты которых тоже палиндромы
DECLARE FUNCTION palindrom! (N&)
CLS
FOR A1 = 1 TO 9: FOR A2 = 0 TO 9
  M& = (((A1 * 10) + A2) * 10 + A2) * 10 + A1
  M2& = M& * M&
  IF palindrom(M2&) THEN PRINT M&, M2&
NEXT A2, A1
END

FUNCTION palindrom (N&)
REM Если N - палиндром, то palindrom = 1
palindrom = 1
IF N& < 10 THEN EXIT FUNCTION: ' Одноразрядное - всегда палиндром
s$ = STR$(N&): ' перевод числа в символьную строку
k% = LEN(s$)
FOR j = 2 TO 1 + k% / 2: ' Цикл проверки симметрии цифр
 IF MID$(s$, j, 1) <> MID$(s$, k% + 2 - j, 1) THEN palindrom = 0
NEXT j
END FUNCTION