请教………关于搜索手机号所属区域的算法!(100分)

  • 主题发起人 主题发起人 filter
  • 开始时间 开始时间
F

filter

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好,又来麻烦各位帮忙了!
有一配置文件a.ini,其中有手机号段,见:
[Segment]
SegmentNumber=10
segment1=13986450000,13986509999,孝感
segment2=13508650000,13508659999,黄冈
segment3=13807250000,13807259999,天门
segment4=13817130000,13817139999,黄石
segment5=13918670000,13918679999,长沙
segment7=13927180000,13927189999,重京
要求:来一个手机号,根据号码得出其所属区域。如果不在以上范围内,则为其他。
如果用整型来判断,delphi中不支持11位的整型(超过范围)。如果用字符串,算法该如何做合
适?我考虑的算法如下:例:将以上各区域分别读入一字符串数组,
var
zone1:array [0..1] of string;
zone2;array [0..1] of string;
begin
则zone1[0]='13986450000',zone1[1]='13986509999';
zone2[0]='13508650000',zone2[1]='13508659999';
end;
如是这样很,好象很不好做,大家有什么好的算法?
 
归纳得知,前面5位必定相同的。可将段首及段尾取后6位。换为整型后
进行比较就可以了。可将前5位作一序列,来电时作存在与否判断,存在后在作范围判断。
应该可以搞定。用Int64也可。
 
全部13位作为string可以直接比较
 
手机号所属区域的编号只有7位
 
www.searchSN.net
 

变通一下,比较后9位
 
由号码的前七位就可判断其归属地
 
后退
顶部