How to print 1 to 100 without any looping using C#

后端 未结 28 1478
天命终不由人
天命终不由人 2020-12-22 19:30

I am trying to print numbers from 1 to 100 without using loops, using C#. Any clues?

28条回答
  •  庸人自扰
    2020-12-22 19:55

    No loops, no conditionals, and no hardcoded literal output, aka "divide and conquer FTW" solution:

    class P
    {
        static int n;
    
        static void P1() { System.Console.WriteLine(++n); }
    
        static void P2() { P1(); P1(); }
    
        static void P4() { P2(); P2(); }
    
        static void P8() { P4(); P4(); }
    
        static void P16() { P8(); P8(); }
    
        static void P32() { P16(); P16(); }
    
        static void P64() { P32(); P32(); }
    
        static void Main() { P64(); P32(); P4(); }
    }
    

    Alternative approach:

    using System;
    
    class C
    {
        static int n;
    
        static void P() { Console.WriteLine(++n); }
    
        static void X2(Action a) { a(); a(); }
    
        static void X5(Action a) { X2(a); X2(a); a(); }
    
        static void Main() { X2(() => X5(() => X2(() => X5(P)))); }
    }
    

提交回复
热议问题