Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 28-12-15, 09:41
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Χρόνια πολλά

Δες μια λύση στο συνημμένο.

Στη λύση υπέθεσα ότι στους μαθητές δίνονται μόνο ολόκληρα μήλα.

Αυτό δημιουργεί κάποια προβλήματα:

1) Αν υποθέσουμε ότι οι μαθητές είναι N και τα μήλα που μοιράστηκαν αρχικά S, κάθε μαθητής δικαιούται S/N μήλα.

Επειδή μπορεί να δοθούν μόνο ολόκληρα μήλα, κάθε μαθητής θα πάρει αρχικά D μήλα, όπου D είναι το ακέραιο πηλίκο S/N (D=INT(S/D) και θα περισσέψουν Y μήλα, όπου Y είναι το υπόλοιπο της ακέραιας διαίρεσης (Y=MOD(S;N)=S-D*N)

Τα Y μήλα που περισσεύουν θα δοθούν από 1 σε Y μαθητές, τυχαία.

Για το σκοπό αυτό δημιουργήθηκε η συνάρτηση rndKatanomi.

2) Ας υποθέσουμε ότι τα μήλα που θα επιστέψει κάθε ευνοημένος μαθητής (λαμβάνοντας υπόψη και τη δυνατότητα μετά το φάγωμα) είναι di, το άθροισμά τους Sd (Sd=Σdi, i=1..N), αυτά που θα έπρεπε να λάβει κάθε αδικημένος pi και το άθροισμά τους Sp (Sp=Σpi, i=1..N).

Κάθε αδικημένος μαθητής θα πρέπει να λάβει, θεωρητικά,xi=Sd*pi/Sp.

Επειδή μοιράζονται ολόκληρα μήλα, κάθε αδικημένος θα πάρει αρχικά ai, όπου ai είναι το ακέραιο μέρος του xi (ai=INT(xi)).

Αν Sa είναι το άθροισμα των ai (Sa=Σai, i=1..N), η διαφορά K=Sd-Sa είναι τα μήλα που θα μείνουν για μοίρασμα, σε μια δεύτερη κατανομή.

Τα K μήλα δίνονται από 1 στους K μαθητές με τα μεγαλύτερα δεκαδικά υπόλοιπα (xi-ai).

Για το σκοπό αυτό δημιουργήθηκε η συνάρτηση IDMax().

Περισσότερα στο συνημμένο.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm Apples.xlsm (967,7 KB, 13 εμφανίσεις)
Απάντηση με παράθεση