Έχω μια μέθοδο, η οποία μου δίνει τον απαιτούμενο αριθμό Κουτιά με βάση τον αριθμό των συσκευών που μπορούν να hold.Currently έχω υλοποιείται αυτή τη λογική χρήση αναδρομής
private uint PerformRecursiveDivision(uint m_oTotalDevices,uint m_oDevicesPerBox, ref uint BoxesRequired)
{
if (m_oTotalDevices< m_oDevicesPerBox)
{
BoxesRequired = 1;
}
else if ((m_oTotalDevices- m_oDevicesPerBox>= 0) && (m_oTotalDevices- m_oDevicesPerBox) < m_oDevicesPerBox)
{
//Terminating condition
BoxesRequired++;
return BoxesRequired;
}
else
{
//Call recursive function
BoxesRequired++;
return PerformRecursiveDivision((m_oTotalDevices- m_oDevicesPerBox), m_oDevicesPerBox, ref BoxesRequired);
}
return BoxesRequired;
}
Υπάρχει κάποια καλύτερη μέθοδος για να εφαρμόσει την ίδια λογική, χωρίς τη χρήση αναδρομή εκεί. Επειδή η μέθοδος αυτή κάνει την αίτησή μου πολύ αργά για περιπτώσεις όταν ο αριθμός των συσκευών υπερβαίνει τα 50000.













