CLS
DIM s AS STRING, dl AS INTEGER, s2 AS STRING
DIM n AS INTEGER, st AS INTEGER, f AS INTEGER
again: INPUT "Vvedite nomer chisla : ", n
IF n < 1 GOTO again
s = "137" ' Наш шаблон
dl = LEN(s) ' Длина шаблона(3 симв.)
st = 1 ' Степень
WHILE n > dl ^ st
n = n - dl ^ st ' вычитаем из n кол-во вмещаемых эл-в в множестве
'sum = sum + dl ^ st ' Отладочная строка
st = st + 1
PRINT "n ="; n, "sum ="; sum, "st ="; st
WEND
' Вследствии данного расчета мы имеем:
' st - количество выводимых знаков числа
' n - номер числа в подмножестве этих знаков
' sum - кол-во комбинаций во всех подмножествах
' вмещаемых в число до номера n
PRINT "n : "; n
PRINT STRING$(80, CHR$(196))
FOR i = 1 TO st
' Перевод в троичную систему
' f - это троичный символ
f = ((n - 1) \ dl ^ (i - 1)) MOD dl
' выборка из шаблона
'( f + 1 ) - это номер в строке шаблоне
' т.к. номер начинается с единицы
s2 = MID$(s, f + 1, 1) + s2
'PRINT f; ' Отладочная строка
NEXT
PRINT s2
CLS : DEFINT A-Z
DIM s AS STRING, s2 AS STRING
again: INPUT "Vvedite nomer chisla : ", n
IF n < 1 GOTO again
s = "137" ' Наш шаблон
dl = LEN(s) ' Длина шаблона(3 симв.)
st = 1 ' Степень
WHILE n > dl ^ st
n = n - dl ^ st ' вычитаем из n кол-во вмещаемых эл-в в множестве
st = st + 1
WEND
FOR i = 1 TO st
f = ((n - 1) \ dl ^ (i - 1)) MOD dl
s2 = MID$(s, f + 1, 1) + s2
NEXT
PRINT s2
Тестирование выполнено в программе QB64 ( Скачать )