From: ben.usenet@bsb.me.uk   
      
   Richard Heathfield writes:   
      
   > On 21/11/2022 8:45 pm, Ben Bacarisse wrote:   
   >> I wonder if there are any real posters here?   
   >   
   > Nobody here but us chickens.   
   >   
   >> Let's see...   
   >> I came across a trivial programming task that must have been solved a   
   >> thousand times by other programmers, but it had never crossed my path   
   >> until yesterday. I must be feeling my age because I made a real hash of   
   >> tackling it at first. Anyway, I thought it might be of interest.   
   >> Consider any ordered measure that "wraps round" -- bearings in degrees,   
   >> minutes in the hour, indeed hours in either the 12 or 24 hour clock.   
   >> The problem is to determine if a given value is in the sub-range   
   >> specified by a start and an en value.   
   >> I was specifically concerned with integer values where the sub-range   
   >> includes the start value but excludes the end value.   
   >> Though I am not sure this merits the term "puzzle", I suggest that   
   >> solutions be posted with some spoiler protection. Do all the news   
   >> readers used by programmers (or ex programmers) all respect the presence   
   >> of a form-feed character...   
   >   
   > Dunno. Let's find out:   
   >   
   > Ctrl-L coming up:   
   >   
   >   
   >   
      
   Didn't see a form feed there. Here's one (I hope):   
      
      
      
   > although of course in C the problem would be far better solved as:   
   >   
   > int inrange(int lo, int hi, int k)   
   > {   
   > return (lo <= k) && (k < hi);   
   > }   
   >   
   > or even as a macro.   
   >   
   > I must confess I'm not entirely certain I have correctly interpreted   
   > your puzzle, which I have taken to mean "is this a given value in the   
   > given range", but this seems just a bit too easy for you to make a   
   > hash of, but I'm sure I've made hashes of worse. I've missed   
   > something, haven't I?   
      
   The circular wrapping. On a clock, 55 is in the range of minutes that   
   starts at 45 and ends at 5.   
      
   --   
   Ben.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|