Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Other Discussions
  3. Clever Code
  4. no iterations

no iterations

Scheduled Pinned Locked Moved Clever Code
questionphpcombeta-testing
22 Posts 9 Posters 83 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    Luc Pattyn
    wrote on last edited by
    #1

    Can you come up with an appropriate name for this method:

    public static string[] xyz(int n) {
    if (n<1) throw new ArgumentException("n must be greater than zero");
    return new string('*', (int)Math.Round((Math.Pow(0.5+Math.Sqrt(1.25), n)-Math.Pow(0.5-Math.Sqrt(1.25), n))/Math.Sqrt(5))).Replace("*", ".*").Substring(1).Split('.');
    }

    PS: triggered by an actual programming question (which looked like homework). :)

    Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

    Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

    C A A P R 7 Replies Last reply
    0
    • L Luc Pattyn

      Can you come up with an appropriate name for this method:

      public static string[] xyz(int n) {
      if (n<1) throw new ArgumentException("n must be greater than zero");
      return new string('*', (int)Math.Round((Math.Pow(0.5+Math.Sqrt(1.25), n)-Math.Pow(0.5-Math.Sqrt(1.25), n))/Math.Sqrt(5))).Replace("*", ".*").Substring(1).Split('.');
      }

      PS: triggered by an actual programming question (which looked like homework). :)

      Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

      Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

      C Offline
      C Offline
      Chris Meech
      wrote on last edited by
      #2

      I'd call it

      public static string[] TheGreatBigMathPowSqrtFunctionThatNobodyKnowsWhatItDoes(int n);

      Is there not a name for the algorithm that is being implemented? :)

      Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]

      L 1 Reply Last reply
      0
      • C Chris Meech

        I'd call it

        public static string[] TheGreatBigMathPowSqrtFunctionThatNobodyKnowsWhatItDoes(int n);

        Is there not a name for the algorithm that is being implemented? :)

        Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]

        L Offline
        L Offline
        Luc Pattyn
        wrote on last edited by
        #3

        Sampling the function for a couple of small values should tell you exactly what it does. If you want to apply Google Fu, there is a formula by Binet, which I gave a little twist... :)

        Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

        Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

        1 Reply Last reply
        0
        • L Luc Pattyn

          Can you come up with an appropriate name for this method:

          public static string[] xyz(int n) {
          if (n<1) throw new ArgumentException("n must be greater than zero");
          return new string('*', (int)Math.Round((Math.Pow(0.5+Math.Sqrt(1.25), n)-Math.Pow(0.5-Math.Sqrt(1.25), n))/Math.Sqrt(5))).Replace("*", ".*").Substring(1).Split('.');
          }

          PS: triggered by an actual programming question (which looked like homework). :)

          Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

          Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

          A Offline
          A Offline
          Abhinav S
          wrote on last edited by
          #4

          Luc Pattyn wrote:

          Can you come up with an appropriate name for this method:

          supercalifragilisticexpialidocious? :)

          Quidquid latine dictum sit, altum videtur.
          Whatever is said in Latin sounds profound.

          L 1 Reply Last reply
          0
          • A Abhinav S

            Luc Pattyn wrote:

            Can you come up with an appropriate name for this method:

            supercalifragilisticexpialidocious? :)

            Quidquid latine dictum sit, altum videtur.
            Whatever is said in Latin sounds profound.

            L Offline
            L Offline
            Luc Pattyn
            wrote on last edited by
            #5

            Sorry, rejected by at least a dozen FxCop rules. :)

            Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

            Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

            A 1 Reply Last reply
            0
            • L Luc Pattyn

              Can you come up with an appropriate name for this method:

              public static string[] xyz(int n) {
              if (n<1) throw new ArgumentException("n must be greater than zero");
              return new string('*', (int)Math.Round((Math.Pow(0.5+Math.Sqrt(1.25), n)-Math.Pow(0.5-Math.Sqrt(1.25), n))/Math.Sqrt(5))).Replace("*", ".*").Substring(1).Split('.');
              }

              PS: triggered by an actual programming question (which looked like homework). :)

              Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

              Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

              A Offline
              A Offline
              Andrew Rissing
              wrote on last edited by
              #6

              public static string[] RubeGoldberg(int n)
              {
              ...
              }

              Named after, ofcourse, Rube Goldberg[^].

              A L 2 Replies Last reply
              0
              • A Andrew Rissing

                public static string[] RubeGoldberg(int n)
                {
                ...
                }

                Named after, ofcourse, Rube Goldberg[^].

                A Offline
                A Offline
                Andrew Rissing
                wrote on last edited by
                #7

                Btw, I hope the OP does realize that you haven't infact removed the loop, but just hidden it inside a method call. I can just see the teacher looking at this and going...you know...I really just wanted a recursive method.

                L 1 Reply Last reply
                0
                • A Andrew Rissing

                  Btw, I hope the OP does realize that you haven't infact removed the loop, but just hidden it inside a method call. I can just see the teacher looking at this and going...you know...I really just wanted a recursive method.

                  L Offline
                  L Offline
                  Luc Pattyn
                  wrote on last edited by
                  #8

                  well, a recursion is also a loop, as it executes the same code over and over again; luckily all he really asked to get rid of was a for loop, so a simple while could have sufficed. PS: yeah, I don't mind freaking out a teacher once in a while. :)

                  Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                  Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

                  A 1 Reply Last reply
                  0
                  • A Andrew Rissing

                    public static string[] RubeGoldberg(int n)
                    {
                    ...
                    }

                    Named after, ofcourse, Rube Goldberg[^].

                    L Offline
                    L Offline
                    Luc Pattyn
                    wrote on last edited by
                    #9

                    hmm. Not quite, Binet's formula would give better performance than any loop or recursion once n goes up. And please don't think of doing these things recursively (unless you cache intermediate results), it would take very long as it has exponential behavior. :)

                    Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                    Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

                    A 1 Reply Last reply
                    0
                    • L Luc Pattyn

                      well, a recursion is also a loop, as it executes the same code over and over again; luckily all he really asked to get rid of was a for loop, so a simple while could have sufficed. PS: yeah, I don't mind freaking out a teacher once in a while. :)

                      Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                      Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

                      A Offline
                      A Offline
                      Andrew Rissing
                      wrote on last edited by
                      #10

                      To me, it just sounded like there was a bit of confusion on his part as to what he was really aiming for. Hence, my observation.

                      1 Reply Last reply
                      0
                      • L Luc Pattyn

                        hmm. Not quite, Binet's formula would give better performance than any loop or recursion once n goes up. And please don't think of doing these things recursively (unless you cache intermediate results), it would take very long as it has exponential behavior. :)

                        Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                        Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

                        A Offline
                        A Offline
                        Andrew Rissing
                        wrote on last edited by
                        #11

                        NetQuestions wrote:

                        I want to initialize a string array with "*".

                        That part and the subsequent responses regarding that from you and Ennis just confused me over what he actually wants. </spam>

                        1 Reply Last reply
                        0
                        • L Luc Pattyn

                          Can you come up with an appropriate name for this method:

                          public static string[] xyz(int n) {
                          if (n<1) throw new ArgumentException("n must be greater than zero");
                          return new string('*', (int)Math.Round((Math.Pow(0.5+Math.Sqrt(1.25), n)-Math.Pow(0.5-Math.Sqrt(1.25), n))/Math.Sqrt(5))).Replace("*", ".*").Substring(1).Split('.');
                          }

                          PS: triggered by an actual programming question (which looked like homework). :)

                          Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                          Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

                          P Offline
                          P Offline
                          PIEBALDconsult
                          wrote on last edited by
                          #12

                          MyGodItsFullOfStars

                          L A 2 Replies Last reply
                          0
                          • P PIEBALDconsult

                            MyGodItsFullOfStars

                            L Offline
                            L Offline
                            Luc Pattyn
                            wrote on last edited by
                            #13

                            BestSoFar :)

                            Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                            Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

                            1 Reply Last reply
                            0
                            • L Luc Pattyn

                              Sorry, rejected by at least a dozen FxCop rules. :)

                              Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                              Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

                              A Offline
                              A Offline
                              Abhinav S
                              wrote on last edited by
                              #14

                              Luc Pattyn wrote:

                              Sorry, rejected by at least a dozen FxCop rules.

                              GAH - you did not tell me you had FXCop running. :)

                              1 Reply Last reply
                              0
                              • P PIEBALDconsult

                                MyGodItsFullOfStars

                                A Offline
                                A Offline
                                Andrew Rissing
                                wrote on last edited by
                                #15

                                :laugh: Got my vote.

                                1 Reply Last reply
                                0
                                • L Luc Pattyn

                                  Can you come up with an appropriate name for this method:

                                  public static string[] xyz(int n) {
                                  if (n<1) throw new ArgumentException("n must be greater than zero");
                                  return new string('*', (int)Math.Round((Math.Pow(0.5+Math.Sqrt(1.25), n)-Math.Pow(0.5-Math.Sqrt(1.25), n))/Math.Sqrt(5))).Replace("*", ".*").Substring(1).Split('.');
                                  }

                                  PS: triggered by an actual programming question (which looked like homework). :)

                                  Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                                  Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

                                  R Offline
                                  R Offline
                                  ricmil42
                                  wrote on last edited by
                                  #16

                                  FibonacciStrings ( )

                                  A 1 Reply Last reply
                                  0
                                  • L Luc Pattyn

                                    Can you come up with an appropriate name for this method:

                                    public static string[] xyz(int n) {
                                    if (n<1) throw new ArgumentException("n must be greater than zero");
                                    return new string('*', (int)Math.Round((Math.Pow(0.5+Math.Sqrt(1.25), n)-Math.Pow(0.5-Math.Sqrt(1.25), n))/Math.Sqrt(5))).Replace("*", ".*").Substring(1).Split('.');
                                    }

                                    PS: triggered by an actual programming question (which looked like homework). :)

                                    Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                                    Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

                                    D Offline
                                    D Offline
                                    dawmail333
                                    wrote on last edited by
                                    #17

                                    HereBeDragons(n) ;P Or even better: uβerπ(n) :laugh: EDIT: If you can't read that, it says uBer(pi)

                                    1 Reply Last reply
                                    0
                                    • R ricmil42

                                      FibonacciStrings ( )

                                      A Offline
                                      A Offline
                                      Abhinav S
                                      wrote on last edited by
                                      #18

                                      ricmil42 wrote:

                                      FibonacciStrings ( )

                                      That sounds like an actual answer - no fun. ;P

                                      1 Reply Last reply
                                      0
                                      • L Luc Pattyn

                                        Can you come up with an appropriate name for this method:

                                        public static string[] xyz(int n) {
                                        if (n<1) throw new ArgumentException("n must be greater than zero");
                                        return new string('*', (int)Math.Round((Math.Pow(0.5+Math.Sqrt(1.25), n)-Math.Pow(0.5-Math.Sqrt(1.25), n))/Math.Sqrt(5))).Replace("*", ".*").Substring(1).Split('.');
                                        }

                                        PS: triggered by an actual programming question (which looked like homework). :)

                                        Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                                        Please use < PRE > tags for code snippets, it preserves indentation, and improves readability.

                                        H Offline
                                        H Offline
                                        Hired Mind
                                        wrote on last edited by
                                        #19

                                        How about:

                                            private static readonly double WhatDoesThisMean = 0.5 + Math.Sqrt(5);
                                            private static readonly double WhatDoesThisMean2 = 0.5 - Math.Sqrt(1.25);
                                        
                                            public static string\[\] **DesparatelyNeedsRefactoring**(int n)
                                            {
                                                if (n < 1) 
                                                    throw new ArgumentException("n must be greater than zero");
                                        
                                                double d = Math.Pow(WhatDoesThisMean, n) - Math.Pow(WhatDoesThisMean2, n);
                                        
                                                var stringLength = (int) Math.Round(d / WhatDoesThisMean);
                                                return new string('\*', stringLength).Replace("\*", ".\*").Substring(1).Split('.');
                                            }
                                        

                                        Note that I would refactor the variable 'stringLength' out as well - I put that in there to try and figure out what was going on, before I gave up and Googled.

                                        Before .NET 4.0, object Universe = NULL;

                                        L 1 Reply Last reply
                                        0
                                        • H Hired Mind

                                          How about:

                                              private static readonly double WhatDoesThisMean = 0.5 + Math.Sqrt(5);
                                              private static readonly double WhatDoesThisMean2 = 0.5 - Math.Sqrt(1.25);
                                          
                                              public static string\[\] **DesparatelyNeedsRefactoring**(int n)
                                              {
                                                  if (n < 1) 
                                                      throw new ArgumentException("n must be greater than zero");
                                          
                                                  double d = Math.Pow(WhatDoesThisMean, n) - Math.Pow(WhatDoesThisMean2, n);
                                          
                                                  var stringLength = (int) Math.Round(d / WhatDoesThisMean);
                                                  return new string('\*', stringLength).Replace("\*", ".\*").Substring(1).Split('.');
                                              }
                                          

                                          Note that I would refactor the variable 'stringLength' out as well - I put that in there to try and figure out what was going on, before I gave up and Googled.

                                          Before .NET 4.0, object Universe = NULL;

                                          L Offline
                                          L Offline
                                          Luc Pattyn
                                          wrote on last edited by
                                          #20

                                          Hired Mind wrote:

                                          I gave up and Googled

                                          and? :)

                                          Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles] Nil Volentibus Arduum

                                          Please use <PRE> tags for code snippets, they preserve indentation, and improve readability.

                                          H 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups