zoukankan      html  css  js  c++  java
  • NET 已知excel表格前面26个是a到z,27是aa28是ab,以此类推,N是多少

    问题:

    已知excel表格前面26个是a到z,27是aa28是ab,以此类推,N是多少

    代码:

            /// <summary>
            /// 已知excel表格前面26个是a到z,27是aa28是ab
            /// 以此类推,写个算法,N是多少
            /// </summary>
            private static void WriteExcelTitle()
            {
                Console.WriteLine("请输入需要打印的数字:");
                var numStr = Console.ReadLine();
                //  子母集合
                var list = new List<string>
                {
                     "A",
                     "B",
                     "C",
                     "D",
                     "E",
                     "F",
                     "G",
                     "H",
                     "I",
                     "J",
                     "K",
                     "L",
                     "M",
                     "N",
                     "O",
                     "P",
                     "Q",
                     "R",
                     "S",
                     "T",
                     "U",
                     "V",
                     "W",
                     "X",
                     "Y",
                     "Z",
                };
                var pageSize = list.Count;
                //  需要打印的个数
                var numBoo = int.TryParse(numStr, out int num);
                //  有多少次循环: 27=2
                var pageTotal = Math.Ceiling(num / (float)pageSize);
                if (pageTotal > 26)
                {
                    Console.WriteLine($"超过最大数-{26 * 26},请重新输入!");
                    WriteExcelTitle();
                    return;
                }
                //  余数
                var remainder = num % pageSize;
                var sb = new List<string>();
                for (int i = 0; i < pageTotal; i++)
                {
                    var itemIndex = i;
                    //  个数等于总数,余数为0,取最后一个
                    if (remainder == 0)
                    {
                        itemIndex = pageSize - 1;
                    }
                    else if (i == pageTotal - 1)
                    {
                        //  最后一个集合,用余数-1做下标
                        itemIndex = remainder - 1;
                    }
                    var itemStr = list[itemIndex];
                    sb.Add(itemStr);
                }
                Console.WriteLine(string.Join("-", sb));
                WriteExcelTitle();
            }

    效果:

  • 相关阅读:
    vue element-ui 动态上传
    vue element ui 导航刷新 is-active
    算法图解笔记
    简单操作的一些小技巧
    大话数据结构 -07-1 图的定义、抽象数据类型与存储结构
    ELO kernels 记录
    [2] day 02
    [1] first day
    大话数据结构 -04-3 队列
    大话数据结构 -04-2 栈的应用-递归
  • 原文地址:https://www.cnblogs.com/Cailf/p/11687015.html
Copyright © 2011-2022 走看看