Or to do the full distribution ...

put Njobs div Ndrivers into tMin
put NJobs mod Ndrivers into tExtras

repeat with i = 1 to NDrivers
   if i <= tExtras then
      allocate tMin+1
  else
     allocate tMin
  end if
end repeat

However, say your drivers are sorted alphabetically, then before long Andy will realise that he is being allocated more jobs that Zebedee. You could (sometimes) reverse the order of drivers - but then Mary loses out on jobs compared to both Andy and Zebedee. Or you could randomize the order of the drivers - but maybe they're also pre-sorted by location.

Instead, you want to even out the spread of extras across the drivers - so you need something like

repeat with i = 1 to Ndrivers
   if tExtras > (Ndrivers-i)/2 then
      allocate tMin+1
      subtract 1 from tExtras
  else
     allocate tMin
  end if
end repeat

(which still has a slight bias towards giving jobs to Zebedee - but it's so slight it will take probably take him years to notice :-)

Alex.

On 17/04/2020 05:28, Jerry Jensen via use-livecode wrote:
  Hi Skip,
Forgive me if this is not the answer you seek, or an oversimplification, but 
there is an easy way to find if the jobs can be exactly evenly distributed, 
with nothing left over:
if (tjobs mod tdrivers) = 0 then // it is evenly distrutable.
.Jerry

On Apr 16, 2020, at 7:41 PM, Skip Kimpel via use-livecode 
<use-livecode@lists.runrev.com> wrote:

I have working on creating a loop that would divide the number of jobs by
the number of users and then checking to see to see if it is evenly
divisible but that is kind of where I am stuck.  Everything I have tried
thus far has proven to be unsuccessful.

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to