• (disco) in reply to dkf

    the men with the long sleeved jacket have been in to see me many times.

    and they always leave confused as to why they walk out wearing the jacket!

  • (disco) in reply to TGV

    Haha, that already exist. I don't remember when I discovered this little gem:

    https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition

  • (disco) in reply to cartman82
    ssboisen:
    Haha, that already exist. I don't remember when I discovered this little gem:

    https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition

    Oh, so you too want to get into the likes business?
    cartman82:

    https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition

    cartman82:
    It was already posted in a different thread. But now I re-posted it in a timely manner and got all the likes for myself. Today likes, tomorrow the world! MWHAHAHAHA!
  • (disco) in reply to faoileag
    faoileag:
    I re-posted it in a timely manner and got all the likes for myself. Today likes, tomorrow the world!

    7 to go for "Mediocre Poster"!

    HA! Meet the new Mediocre Poster! Where is your god now!?

  • (disco) in reply to JBert

    good luck with the likes :smile: I didn't notice you posted it. It's not exactly easy to get a complete overview over all of the thread :smile:

  • (disco) in reply to cartman82
    cartman82:
    HA! Meet the new Mediocre Poster! Where is your god now!?
    @cartman82 => *"Mediocre Poster" x 17*??? Are you sure Discourse is counting that right?
  • (disco) in reply to faoileag

    Jeff always keeps his word (wink)

  • (disco)

    select case when mod(level,15) = 0 then 'fizzbuzz' when mod(level,3) = 0 then 'fizz' when mod(level,5) = 0 then 'buzz' else to_char(level) end from dual connect by level <= 100

  • (disco) in reply to PleegWat

    Slightly shorter version using nvl/decode instead of case:

    select nvl(decode(mod(level,3),0,'fizz')||decode(mod(level,5),0,'buzz'),to_char(level)) from dual connect by level <= 100

  • (disco)

    good old sed:

    seq 100 | sed -e "3~3s/.*/fizz/" -e "5~5s/[0-9]*\$/buzz/"
    
  • (disco) in reply to Josef_Zila
    Josef_Zila:
    good old sed:
    seq 100 | sed -e "3~3s/.*/fizz/" -e "5~5s/[0-9]*\$/buzz/"
    

    Nice. Needs a little cleanup:

    seq 100 | sed -e "3~3s/./fizz/" -e "5~5s/[0-9]\$/buzz/" -e "s/fizz[0-9]/fizz/" -e "s/[0-9]*buzz/buzz/"
    
  • (disco) in reply to boomzilla

    I was just missing asterisks because I did not put it into "code" block, but after edit it should work now

  • (disco) in reply to aliceif

    or you're the guy who wrote it. ;-) thanks anyway!

  • (disco)

    http://www.reddit.com/r/programming/comments/2fcamo/the_daily_wtf_the_fizz_buzz_from_outer_space/

  • (disco) in reply to faoileag
    faoileag:
    Just as I suspected. You can't quote a hidden article when replying via the "reply" button, but of course you can when you reply via "quote reply".
    And never ever click on the arrow leading back to the post you have replied to *if that post has been deleted*!

    The arrow still works somehow in that it dumps you somewhere in the region where the deleted post has been (couple of posts earlier).

    But then, when you notice that the post has been deleted, you have no possibility whatsoever to go back to the post you have come from directly.

    No problem in this thread; but in this one you will probably scream out *B****m!!! in despair.

  • (disco) in reply to JBert

    Has anyone seen this yet?

    https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition

  • (disco) in reply to chubertdev

    Very enterprisey.

  • (disco)
    print("\n".join(["FizzBuzz" if z%15 == 0 else ("Buzz" if z%5 == 0 else ("Fizz" if z%3 == 0 else str(z))) for z in range(1,100)]))
    

    Or perhaps.

    [print("FizzBuzz" if z%15 == 0 else ("Buzz" if z%5 == 0 else ("Fizz" if z%3 == 0 else str(z)))) for z in range(1,100)]
    

    I'm not a nice person.

  • (disco) in reply to chubertdev
    chubertdev:
    Has anyone seen this yet?

    FLAGGED

  • (disco) in reply to chubertdev
    chubertdev:
    Has anyone seen this yet?

    https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition

    Now there's something you don't see every day!

    Oh, you were talking about FizzBuzz...

  • (disco)

    Because I can, here's RecursiveFizzBuzz, Sans Modulo, in C# (it sounds like the title of a piece of music)

    namespace RecursiveFizzBuzz
    {
        class Program
        {
            private static int max = 100;
    
            static void Main(string[] args)
            {
                CheckValues(1);
                Console.ReadLine();
            }
    
            static void CheckValues(int i)
            {
                if (i > max)
                    return;
                // TODO: Use worker threads for IsModThree and IsModFive
                bool modThree = IsModThree(i);
                bool modFive = IsModFive(i);
                string output = "";
                if (modThree)
                {
                    output = "Fizz";
                }
                if (modFive)
                {
                    output += "Buzz";
                }
                if (!modThree && !modFive)
                {
                    output = i.ToString();
                }
                Console.WriteLine(output);
    
                CheckValues(++i);
            }
    
            static bool IsModThree(int i)
            {
                i = i - 3;
                if (i == 0)
                {
                    return true;
                }
                if (i < 0)
                {
                    return false;
                }
                return IsModThree(i);
            }
    
            static bool IsModFive(int i)
            {
                i = i - 5;
                if (i == 0)
                {
                    return true;
                }
                if (i < 0)
                {
                    return false;
                }
                return IsModFive(i);
            }
        }
    }
    

    Filed under: Invoking Cartman Rule 1 (For some reason, markdown for hyperlink [blah]() is broken in this post)
  • (disco) in reply to Spencer
    Spencer:
    Because I can, here's RecursiveFizzBuzz, Sans Modulo, in C# (it sounds like the title of a piece of music)

    If you market it right, you can get it played at weddings.

  • (disco)

    Meh the interviewer wasn't simply good enough to interview the interviewee

  • (disco) in reply to chubertdev
    chubertdev:
    Spencer said: Because I can, here's RecursiveFizzBuzz, Sans Modulo, in C# (it sounds like the title of a piece of music)

    If you market it right, you can get it played at weddings.

    "The Recursive FizzBuzzers, playing their hit 'Sans Modulo' in 3/5 step!"
  • (disco) in reply to minuSeven

    Badge Request: Front-page Troll

  • (disco) in reply to DCRoss

    I like bonus points :smile:

    https://www.dropbox.com/sh/1qt1zjdmryy51ak/AAA_n4AA6gvYHMlfjuICOQmIa?dl=0

  • (disco) in reply to antiquarian

    Agreed. Get on it @PJH

  • (disco) in reply to DCRoss

    Since some people might not want to follow the dropbox link for fear of what they'll find, it's the compiled version (and source) of this C# console app. It generates a FizzBuzz solution in your choice of languages, based on which .NET code providers are installed on your system.

    using System;
    using System.Collections.Generic;
    using System.CodeDom;
    using System.CodeDom.Compiler;
    using System.Text;
    
    namespace FizzBuzzGenerator
    {
        class Program
        {
            static void Main(string[] args)
            {
                CompilerInfo[] langInfo = CodeDomProvider.GetAllCompilerInfo();
                Console.WriteLine("Please choose a language:");
                Console.WriteLine("".PadLeft(30, '='));
                for (int i = 0; i < langInfo.Length; i++)
                    if (langInfo[i].IsCodeDomProviderTypeValid)
                        Console.WriteLine("{0} - {1}", i + 1, langInfo[i].CodeDomProviderType.Name);
                Console.WriteLine();
                ConsoleKeyInfo nullKey = new ConsoleKeyInfo('.', ConsoleKey.Decimal, false, false, false);
                ConsoleKeyInfo langSelKey = nullKey;
                while (langSelKey == nullKey)
                {
                    Console.Write("\nPlease choose: ");
                    ConsoleKeyInfo tempKeyInfo = Console.ReadKey();
                    int iKeyCharVal;
                    if (int.TryParse(tempKeyInfo.KeyChar.ToString(), out iKeyCharVal) && iKeyCharVal > 0 && iKeyCharVal <= langInfo.Length)
                        langSelKey = tempKeyInfo;
                    else
                        Console.WriteLine("?");
                }
                int iKeyCharValAgain = -1;
                if (langSelKey.KeyChar != null)
                    int.TryParse(langSelKey.KeyChar.ToString(), out iKeyCharValAgain);
    
                bool compile = false;
                Console.Write('\n');
                Console.Write('\n');
                ConsoleKeyInfo nullKey2 = new ConsoleKeyInfo('0', ConsoleKey.NumPad0, false, false, false);
                ConsoleKeyInfo chooseCompileKey = nullKey2;
                while (chooseCompileKey == nullKey2)
                {
                    Console.Write('\n');
                    Console.Write("Compile output? ");
                    ConsoleKeyInfo tempKeyInfo2 = Console.ReadKey();
                    if (tempKeyInfo2.Key == ConsoleKey.Y || tempKeyInfo2.Key == ConsoleKey.N)
                        chooseCompileKey = tempKeyInfo2;
                    else
                        Console.WriteLine("?");
                }
                if (chooseCompileKey.Key == ConsoleKey.Y)
                    compile = true;
                else
                    compile = false;
    
                int countMax = 0;
                Console.Write('\n');
                bool hasMaxValue = false;
                while (hasMaxValue == false)
                {
                    Console.Write('\n');
                    Console.Write("\nCount how high? ");
                    string strMaxCnt = Console.ReadLine();
                    if (!string.IsNullOrEmpty(strMaxCnt) && int.TryParse(strMaxCnt, out countMax))
                        hasMaxValue = true;
                    else
                        Console.WriteLine("?");
                }
    
                // Now the fun part starts.
                CodeNamespace ns = new CodeNamespace("com.wtf.fizzbuzz");
                ns.Imports.Add(new CodeNamespaceImport("System"));
    
                CodeTypeDeclaration fzbzCls = new CodeTypeDeclaration("FizzBuzzOutputter");
                fzbzCls.TypeAttributes = System.Reflection.TypeAttributes.Public | System.Reflection.TypeAttributes.Class;
                fzbzCls.IsClass = true;
    
                CodeMemberField maxField = new CodeMemberField(
                                                new CodeTypeReference("System.Int32"), "_MaxCount");
                maxField.Attributes = MemberAttributes.Public;
                fzbzCls.Members.Add(maxField);
    
                CodeConstructor cstr = new CodeConstructor();
                cstr.Attributes = MemberAttributes.Public;
                cstr.Parameters.Add(
                        new CodeParameterDeclarationExpression(
                            new CodeTypeReference("System.Int32"), "max"));
                cstr.Statements.Add(new CodeAssignStatement(
                    new CodeFieldReferenceExpression(
                        new CodeThisReferenceExpression(),
                        "_MaxCount"
                    ), new CodeArgumentReferenceExpression("max")));
                fzbzCls.Members.Add(cstr);
    
                CodeMemberMethod doMeth = new CodeMemberMethod();
                doMeth.Name = "doMeth";
                doMeth.Attributes = MemberAttributes.Public;
                doMeth.ReturnType = new CodeTypeReference("System.String");
                doMeth.Parameters.Add(
                    new CodeParameterDeclarationExpression(
                        new CodeTypeReference("System.Int32"), "countMax")
                    );
    
                CodeIterationStatement forLooop = new CodeIterationStatement(
                    new CodeVariableDeclarationStatement(
                        new CodeTypeReference(
                            new CodeTypeParameter("System.Int32")
                        ), "i", new CodePrimitiveExpression(0)
                    ), new CodeBinaryOperatorExpression(
                        new CodeVariableReferenceExpression("i"),
                        CodeBinaryOperatorType.LessThan,
                        new CodeArgumentReferenceExpression("countMax")
                    ), new CodeAssignStatement(
                        new CodeVariableReferenceExpression("i"),
                        new CodeBinaryOperatorExpression(
                            new CodeVariableReferenceExpression("i"),
                            CodeBinaryOperatorType.Add,
                            new CodePrimitiveExpression(1)
                        )
                    ));
    
                CodeVariableDeclarationStatement varX = new CodeVariableDeclarationStatement(
                    "System.Int32", "x", new CodeBinaryOperatorExpression(
                        new CodeVariableReferenceExpression("i"),
                        CodeBinaryOperatorType.Add,
                        new CodePrimitiveExpression(1)
                    ));
                forLooop.Statements.Add(varX);
    
                CodeConditionStatement ifFizzBuzz = new CodeConditionStatement();
                ifFizzBuzz.Condition = new CodeBinaryOperatorExpression(
                    new CodeBinaryOperatorExpression(
                        new CodeBinaryOperatorExpression(
                            new CodeVariableReferenceExpression("x"),
                            CodeBinaryOperatorType.Modulus,
                            new CodePrimitiveExpression(5)
                        ), CodeBinaryOperatorType.ValueEquality,
                        new CodePrimitiveExpression(0)
                    ), CodeBinaryOperatorType.BooleanAnd
                    , new CodeBinaryOperatorExpression(
                        new CodeBinaryOperatorExpression(
                            new CodeVariableReferenceExpression("x"),
                            CodeBinaryOperatorType.Modulus,
                            new CodePrimitiveExpression(3)
                        ), CodeBinaryOperatorType.ValueEquality,
                        new CodePrimitiveExpression(0)
                    ));
                ifFizzBuzz.TrueStatements.Add(
                        new CodeMethodInvokeExpression(
                            new CodeTypeReferenceExpression(
                                new CodeTypeReference(typeof(Console))
                            ), "WriteLine", new CodePrimitiveExpression("FizzBuzz")
                        ));
                CodeConditionStatement elseIfFizz = new CodeConditionStatement(
                            new CodeBinaryOperatorExpression(
                                new CodeBinaryOperatorExpression(
                                    new CodeVariableReferenceExpression("x"),
                                    CodeBinaryOperatorType.Modulus,
                                    new CodePrimitiveExpression(3)
                                ), CodeBinaryOperatorType.ValueEquality,
                                new CodePrimitiveExpression(0)
                            ));
                ifFizzBuzz.FalseStatements.Add(elseIfFizz);
                elseIfFizz.TrueStatements.Add(
                        new CodeMethodInvokeExpression(
                            new CodeTypeReferenceExpression(
                                new CodeTypeReference(typeof(Console))
                            ), "WriteLine", new CodePrimitiveExpression("Fizz")
                        ));
                CodeConditionStatement elseIfBuzz = new CodeConditionStatement(
                            new CodeBinaryOperatorExpression(
                                new CodeBinaryOperatorExpression(
                                    new CodeVariableReferenceExpression("x"),
                                    CodeBinaryOperatorType.Modulus,
                                    new CodePrimitiveExpression(5)
                                ), CodeBinaryOperatorType.ValueEquality,
                                new CodePrimitiveExpression(0)
                            ));
                elseIfFizz.FalseStatements.Add(elseIfBuzz);
                elseIfBuzz.TrueStatements.Add(
                        new CodeMethodInvokeExpression(
                            new CodeTypeReferenceExpression(
                                new CodeTypeReference(typeof(Console))
                            ), "WriteLine", new CodePrimitiveExpression("Buzz")
                        ));
                elseIfBuzz.FalseStatements.Add(
                        new CodeMethodInvokeExpression(
                            new CodeTypeReferenceExpression(
                                new CodeTypeReference(typeof(Console))
                            ), "WriteLine", new CodeVariableReferenceExpression("x")
                        ));
    
                forLooop.Statements.Add(ifFizzBuzz);
                doMeth.Statements.Add(forLooop);
    
                doMeth.Statements.Add(
                    new CodeMethodReturnStatement(
                        new CodeMethodInvokeExpression(
                            new CodeArgumentReferenceExpression("countMax"),
                            "ToString"
                        )
                    ));
    
                fzbzCls.Members.Add(doMeth);
    
                CodeTypeDeclaration progMainCls = new CodeTypeDeclaration("Program");
    
                CodeMethodInvokeExpression consWrite = new CodeMethodInvokeExpression(
                    new CodeMethodReferenceExpression(
                        new CodeTypeReferenceExpression(
                            new CodeTypeReference(typeof(Console))
                        ), "WriteLine"
                    ), new CodePrimitiveExpression("Press any key to fizz/buzz..."));
                CodeMethodInvokeExpression consRead = new CodeMethodInvokeExpression(
                    new CodeMethodReferenceExpression(
                        new CodeTypeReferenceExpression(
                            new CodeTypeReference(typeof(Console))
                        ), "ReadLine"
                    ));
    
                CodeEntryPointMethod voidMan = new CodeEntryPointMethod();
                voidMan.Parameters.Add(new CodeParameterDeclarationExpression(
                    new CodeTypeReference(typeof(object[])), "args"));
                voidMan.Statements.Add(consWrite);
                voidMan.Statements.Add(consRead);
                voidMan.Statements.Add(
                    new CodeVariableDeclarationStatement(
                        new CodeTypeReference("FizzBuzzOutputter"),
                        "inst",
                        new CodeObjectCreateExpression(
                            new CodeTypeReference("FizzBuzzOutputter"),
                            new CodePrimitiveExpression(countMax)
                        )
                    ));
                voidMan.Statements.Add(
                    new CodeMethodInvokeExpression(
                        new CodeVariableReferenceExpression("inst"),
                        "doMeth",
                        new CodePrimitiveExpression(countMax)
                    ));
                voidMan.Statements.Add(
                    new CodeMethodInvokeExpression(
                    new CodeMethodReferenceExpression(
                        new CodeTypeReferenceExpression(
                            new CodeTypeReference(typeof(Console))
                        ), "WriteLine"
                    ), new CodePrimitiveExpression("Press any key to exit...")));   // And by "any key", I mean <Enter> :)
                voidMan.Statements.Add(consRead);
                progMainCls.Members.Add(voidMan);
    
                ns.Types.Add(progMainCls);
                ns.Types.Add(fzbzCls);
    
                CodeCompileUnit cdCmpUnt = new CodeCompileUnit();
                cdCmpUnt.Namespaces.Add(ns);
    
                // Finally ready to output the result.
                CodeDomProvider provider = langInfo[iKeyCharValAgain - 1].CreateProvider();
                CodeGeneratorOptions opts = new CodeGeneratorOptions();
                opts.BlankLinesBetweenMembers = false;
                opts.ElseOnClosing = true;
    
                StringBuilder sbOutput = new StringBuilder();
                using (System.IO.StringWriter sr = new System.IO.StringWriter(sbOutput))
                    provider.GenerateCodeFromCompileUnit(cdCmpUnt, sr, opts);
    
                Console.WriteLine(sbOutput);
    
                Console.Write('\n');
                Console.Write('\n');
                Console.Write("\nSpecify file name: ");
                string outFileNm = Console.ReadLine();
                string outPath = System.IO.Path.Combine(Environment.CurrentDirectory, outFileNm);
                if (compile)
                {
                    CompilerParameters compParams = new CompilerParameters();
                    compParams.ReferencedAssemblies.Add("System.dll");
                    compParams.WarningLevel = 3;
                    compParams.CompilerOptions = "/optimize";
                    compParams.GenerateExecutable = true;
                    compParams.IncludeDebugInformation = false;
                    compParams.GenerateInMemory = false;
                    if (provider.Supports(GeneratorSupport.EntryPointMethod))
                        compParams.MainClass = "com.wtf.fizzbuzz.Program";
                    compParams.OutputAssembly = outPath + ".exe";
                    CompilerResults compResult = provider.CompileAssemblyFromDom(compParams, cdCmpUnt);
                    if (compResult.Errors.Count == 0)
                        Console.WriteLine("File created at: " + compResult.PathToAssembly);
                    else
                    {
                        Console.WriteLine("This following errors occured durring compilation:");
                        for (int i = 0; i < compResult.Errors.Count; i++)
                            Console.WriteLine("\t- {0}", compResult.Errors[i].ErrorText);
                    }
                }
                else
                {
                    using (System.IO.FileStream fs = new System.IO.FileStream(outPath, System.IO.FileMode.Create, System.IO.FileAccess.Write))
                    using (System.IO.StreamWriter sr = new System.IO.StreamWriter(fs))
                        sr.Write(sbOutput.ToString());
                }
    
                Console.WriteLine();
                Console.WriteLine("".PadLeft(30, '='));
                Console.WriteLine("ALL DONE!  Press <Enter> to exit.");
                Console.ReadLine();
            }
        }
    }
    
  • (disco) in reply to cartman82
    cartman82:
    **cartman's rule #1:** Any discussion where fizzbuzz is mentioned, no matter how tangentially, will eventually turn into a fizzbuzz implementation contest.

    So now you're competing with @blakeyrat 's Laws?

  • (disco) in reply to redwizard

    I already made that law years ago.

  • (disco) in reply to blakeyrat

    Proof or GTFO

  • (disco)

    Just because I had LinqPad open and want to commit some Ternary Operator Abuse

    Enumerable.Range(1,100).Select(i=> i % 15 == 0 ? "Fizzbuzz" : i % 3 == 0 ? "Fizz" : i % 5 == 0 ? "Buzz" : i.ToString()).ToList().ForEach(s => Console.WriteLine(s));
    

    or a version without the ToList (which is stinky)

    Console.WriteLine(string.Join("\r\n", Enumerable.Range(1,100).Select(i=> i % 15 == 0 ? "Fizzbuzz" : i % 3 == 0 ? "Fizz" : i % 5 == 0 ? "Buzz" : i.ToString()).ToArray()));
    
  • (disco) in reply to blakeyrat

    We totally need a complete list of blakeyrat's laws. Perhaps a WordPress blog? :smiling_imp:

  • (disco) in reply to Arantor

    Nah, an md doc on github.

  • (disco)

    Holy smokes, this is the best post on TDWTF in a long time! I almost feel guilty for constantly complaining about the made up/heavily edited/flat out stupid stories and this preposterous new comment system. Almost.

  • (disco) in reply to aliceif
    aliceif:
    cornify

    I was just wondering what "cornify" means -- maybe it's my age, or senility, but WTF???

    :}

  • (disco) in reply to Joelch
    Joelch:
    I was just wondering what "cornify" means -- maybe it's my age, or senility, but WTF???

    It's a sign of good breeding.

  • (disco) in reply to VinDuv
    VinDuv:
    If I wanted to nitpick, I’d probably complain about the unescaped << in the title attribute first...
    Sorry, but those are already quoted.
  • (disco) in reply to Joelch

    It's the crime against good taste for which Remy will one day pay.

    Filed Under: Hypocrisy - I actually like the unicorns and rainbows

  • (disco)

    Because I can't be bothered to log in on yet another site, here's my version using my favourite application, cat (type on Windows):

    1
    2
    Fizz
    4
    Buzz
    Fizz
    7
    8
    Fizz
    Buzz
    11
    Fizz
    13
    14
    FizzBuzz
    16
    17
    Fizz
    19
    Buzz
    Fizz
    22
    23
    Fizz
    Buzz
    26
    Fizz
    28
    29
    FizzBuzz
    31
    32
    Fizz
    34
    Buzz
    Fizz
    37
    38
    Fizz
    Buzz
    41
    Fizz
    43
    44
    FizzBuzz
    46
    47
    Fizz
    49
    Buzz
    Fizz
    52
    53
    Fizz
    Buzz
    56
    Fizz
    58
    59
    FizzBuzz
    61
    62
    Fizz
    64
    Buzz
    Fizz
    67
    68
    Fizz
    Buzz
    71
    Fizz
    73
    74
    FizzBuzz
    76
    77
    Fizz
    79
    Buzz
    Fizz
    82
    83
    Fizz
    Buzz
    86
    Fizz
    88
    89
    FizzBuzz
    91
    92
    Fizz
    94
    Buzz
    Fizz
    97
    98
    Fizz
    Buzz
    
  • (disco)

    Continuation-passing style with "Cont cc"? Not using the expensive modulo operator? I like that guy, he's thinking outside the box.

  • (disco)

    So many FizzBuzzes. I started to implement one in Befunge but just abandoned it after a while (when I realized you can't easily access the third stack member without modifying the program). Now I regret not saving the draft program I had. It was so pretty with its lanes and everything.

  • (disco) in reply to anonymous234
    [image] [image]

    Something doesn't add up here.

  • (disco) in reply to Keith

    The name was mostly to go with the badge/title. But I do lurk in more threads than I post.

  • p1neapple (unregistered)

    Haskell:

    f x | x `mod` 15 == 0 = "FizzBuzz"
        | x `mod` 5 == 0 = "Buzz"
        | x `mod` 3 == 0 = "Fizz"
        | otherwise = show x
    main = mapM_ (putStrLn . f) [0..]
    

Leave a comment on “The Fizz Buzz from Outer Space”

Log In or post as a guest

Replying to comment #440926:

« Return to Article