这列数字里号段里有几百缺号,有缺号就会产生新的号段,有没有方法把几百个号段都统计出来,每个号段含多
传说浙大有一个面试题是要快速找到1到N中缺少的一个数字,有一个很经典的做法是把N-1个数字加和,减去1到N的和,但是当N非常很大的时候,复杂度为O(Nlog(N^2)/32) = O(Nlog(N)/16),和会达到2logN的bit位。 我偶然想到了一个方法,设f(n) = 1 xor 2 xor … xor n f(n) = n , n % 4 == 0 1 , n % 4 == 1 n +1 , n % 4 == 2 0 , n % 4 == 3 设输入的n-1个数字的异或和为s, 那么所求答案就为 f(n) - s. 复杂度为O(Nlog(N)/32),即只使用log(N)长度的bitEXCEL中统计这些号段有多少个,并产生了多少流量,急!!!
A号码B流量C起始号D终止号E号码个数F本段流量
501010053350101000501010776278.93
5010101312.6501651685016519915458.70
5010103121.245179231051792330452.98
5010104557.87501010005016519930889.73
5010105554.525010101350101055391.71
C、D列输入号码段
E列公式:=IF(C2="","",COUNTIF(A:A,">="&C2)-COUNTIF(A:A,">="&D2))一直往下拉
F列公式:=IF(C2="","",IF(C2>=$A$2,SUM(OFFSET(B:B,MATCH(C2,A:A,1)-1,0,E2,1)),SUM(OFFSET(B:B,1,0,E2,1))))一直往下拉
现有个Access手机号码归属地的数据库记录大概有26万条(下图) 现想统计下各个号码段的号码数,补充。。
SELECT mid(mobilenumber,1,3) as 号码段,count(mid(mobilenumber,1,3)) as 件数 FROM dm_mobile group by mid(mobilenumber,1,3);有大约500个手机号码,需要查出每个电话号码的归属地,求方法。 一个个试的就免了,没那么多时间。
只能一个个查询,没有什么好的办法。
我国使用的号码为11位,其中各段有不同的编码方向:第1-3位—网络识别号;第4-7位—地区编码;第8-11位—用户号码。号码也就是所谓的MDN号码,即本网移动用户作被叫时,主叫用户所需拨的号码,它采取E.164编码方式;存储在HLR和VLR中,在MAP接口上传送。
自1999年7月22日零时起,我国数字移动电话号码全面升至11位。这一升位至少要拿几项第一:我国第一次全国性电话号码升位、中国移动电话第一次升位、世界规模最大的一次号码升位、我国将是国际电联成立以来第一个拥有11位号码的国家。
号码“短缺”现象
1987年以来,我国移动通信运营业每年翻个筋斗,到1998年底已达2498万。据预测,到2000年,我国将拥有5000万移动通信用户。
这么多人挤在10位号码上,GSM网号码资源当然不大够用。1997年底,原中国电信(2000年,其移动业务被剥离出去,成立中国移动)向原邮电部申请了137、136、135三个新网号,加上139和138,总共有4500万个号码资源。
按利用率60%算,原中国电信GSM的5个网号实际只能放号2700万个 ,而1998年原中国电信的移动通信用户已达2357万户。