一算法题,简单又复杂,要求主体代码不能超过5行

毕设助手 其他问答 1

题目是在console输出如下图所示数字排列,我导师要求主体代码不能超过5行,又把我难倒了,各位码友专家看能不能教一下,java、c#、c、vb都行

回复

共2条回复 我来回复
  • 源码驿站
    这个人很懒,什么都没有留下~
    评论

    方式一:

                string[] strs = new string[] {"    1","   121","  12321"," 1234321","123454321", " 1234321", "  12321" , "   121" , "    1" };
                foreach (var item in strs)
                    Console.WriteLine(item);
    

    方式二:

    long item = 0, len = 9;//len只到5的话,定义为int就可以了
                for (int i = 0; i < len * 2 - 1; i++)
                {
                    item = i < len ? item * 10 + long.Parse("1".PadLeft(i * 2 + 1, '1')) : (item - long.Parse("1".PadLeft(((int)len * 2 - i - 1) * 2 + 1, '1'))) / 10;
                    Console.WriteLine(" ".PadLeft((int)len - (item.ToString().Length) / 2, ' ') + item);
                }
    
    0条评论
  • 毕业设计驿站
    这个人很懒,什么都没有留下~
    评论

    这样应该可以:

    pow((pow(10,x-n)-1 )/9 ,2));   //n=4 ,1
                                   //n=3 ,99/9=11,  11*11 = 121
                                   //n=2 ,999/9=111,111*111 = 12321
                                   //n=1 ,9999/9=1111,1111*1111 = 1234321
    
    0条评论

发表回复

登录后才能评论