当前位置:首页 > 文章 > 开发 > 正文内容

靓号的实现

开发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


相关文章

[最短寻道优先调度][电梯调度][先来先服务调度]

SSF 调度|最短寻道优先调度     最短寻道优先调度(Shor...