я ща во флейм это переливание из пустого в порожнее отправлю.
я же уже объяснил.
есть таблица (условно):
код/город/тариф за минуту
35/Жопинск/5
41/Сиськино/4
355/Жопино/5.5
приходит номер
8351525354
первая 8 - значит межгород, отсекаем 8
351525354
идем по таблице с кодом, городом, тарифом до первого совпадения первых Н-цифр. где Н длина текущего кода. естественно начинаем обход таблицы так, что сначала сравниваем записи с самыми длинными кодами.
Таким образом находим Жопинск