当前位置:首页 > 文章 > 笔记 > 正文内容

靓号的实现

笔记2年前 (2023-01-03)
0x0    说明    

靓号,相信大家一定不陌生,手机号,某款通讯软件,都有靓号的身影,

那么,如果有一天,要我们自己来实现靓号,我们要怎么办。

0x1    号码    

这里,我以某款通讯软件的号码为例子,范围从10000到9999999999,从第一个5位数,到最后一个10位数。

0x2    生成    

本次使用纯文本形式对号码进行存储。

可能有些人会喜欢运行时生成号码,不过这里为了演示方便,会先成范围内的所有的号码到文件。

生成后文件体积也不会很大,110G。

static void Main(string[] args)
{
    FileStream fileStream = new FileStream(@"D:\0-0-0-0.txt", FileMode.OpenOrCreate);

    int start = 10000;
    long end = 99999;

    long number = start;
    int num = 0;
    byte[] buf;
    while (number < end)//如果等于end则跳出while
    {
        buf = System.Text.Encoding.ASCII.GetBytes(number.ToString() + "\r\n");
        fileStream.Write(buf, 0, buf.Length);
        number++;

        num++;
        if (num == 100000000)
        {
            num = 0;
            fileStream.Flush();
            Console.WriteLine(number.ToString());
        }
    }

    buf = System.Text.Encoding.ASCII.GetBytes(number.ToString());
    fileStream.Write(buf, 0, buf.Length);
    fileStream.Flush();

    fileStream.Dispose();
    fileStream.Close();
    Console.WriteLine("end");
    Console.Read();
}


0x3    文件    

为了节省时间,这里我分享出生成后的文件,压缩文件内包含7种号码范围。

10000              -    99999

100000            -    999999

1000000          -    9999999

10000000        -    99999999

100000000      -    999999999

1000000000    -    9999999999

10000              -    9999999999


转载请注明出处。

本文链接:http://www.pythonopen.com/?id=255

相关文章

二进制转十进制十六进制

二进制转十进制十六进制

每四位为一组,从右向左依次乘2的n次方n为顺序索引,索引从0开始得到的数字相加,即为十进制...

ESXI SATA直通

 [主机]-[管理]-[服务] 开启SSH[主机]-[管理]-[硬件] 找到"I...

Notepad++ 关闭输入联想

打开 Notepad++ 软件,点击菜单栏中的 “设置”。在弹出的下拉菜单中选择 “首选项”。在首选...

绝对路径和相对路径的区别

绝对路径:说明示例绝对路径从系统的根目录出发,完整描述文件位置的路径。C:\Users\user\d...

4分之1英寸螺丝的直径

1英寸=25.4毫米。4分之1英寸=0.25英寸。0.25英寸×25.4毫米/英寸=6.35毫米。因...

BSD是什么系统

BSD(Berkeley Software Distribution)是一系列基于 Unix 的操作...