str - переводит число в строку, т.е. например число 123 будте строкой "123" синтаксис такой a$=str(b%). ето необходимо чтоюб было можно использовать команду mid$. Она нужна для определения символа / группы символов в строке. Синтаксис такой : h$=mid(s$,первый сивол, скока символов). Например mid("собака",2,3) вернет "оба", а mid("собака",3,3) вернет "бак". В общем твоя задача сведется к приведению числа к строке, как первого так и второго.
Разберем твой пример:
9562814547697752438 число большое и блитз его не держит, поэтому объявим сразу строкой, второе тоже ради удобства.
[blitz]
a$="9562814547697752438"
b$="47"
[/blitz]
далее определяем скока символов в каждой из строк:
[blitz]
a$="9562814547697752438"
b$="47"
ca=len(a)
cb=len(b)
[/blitz]
далее задаем новую строку, в которую будем записывать результат:
[blitz]
a$="9562814547697752438"
b$="47"
ca=len(a)
cb=len(b)
rs$=""
[/blitz]
далее идет собственно само решение, берем первый символ первой строки и сравнивапес его со всеми символами второй строки, если
где-то он есть, то прибавляем его к новой строке (там где результат).
[blitz]
a$="9562814547697752438"
b$="47"
ca=Len(a)
cb=Len(b)
rs=""
For i=1 To ca
For j=1 To cb
If Mid(a,i,1)=Mid(b,j,1) Then rs=rs+Mid(b,j,1)
Next
Next
Print rs
[/blitz]
у этого метода сразу просматривается огромный минус, все цифры во второй строке должны встречаться только один раз, так как это в условиях не оговаривалось, будем делать так чтобы во второй строке символы могли повторяться. Собственно не мудря слишкомЮ, добавляем exit после rs=rs+Mid(b,j,1) и получаем:
[blitz]
a$="9562814547697752438"
b$="47"
ca=Len(a)
cb=Len(b)
rs=""
For i=1 To ca
For j=1 To cb
If Mid(a,i,1)=Mid(b,j,1) Then rs=rs+Mid(b,j,1):Exit
Next
Next
Print rs
[/blitz]
вот и все.
p.s. Надеюсь ты следил за мыслью, а не листингом кода.