Υπάρχουν n πανομοιότυπες κάρτες τύπου A, n τύπου B, n τύπου C και n τύπου D. Υπάρχουν 4 άτομα που πρέπει ο καθένας να λάβει κάρτες n. Με ποιους τρόπους μπορούμε να διανείμουμε τις κάρτες;

Υπάρχουν n πανομοιότυπες κάρτες τύπου A, n τύπου B, n τύπου C και n τύπου D. Υπάρχουν 4 άτομα που πρέπει ο καθένας να λάβει κάρτες n. Με ποιους τρόπους μπορούμε να διανείμουμε τις κάρτες;
Anonim

Απάντηση:

Δείτε παρακάτω μια ιδέα σχετικά με τον τρόπο προσέγγισης αυτής της απάντησης:

Εξήγηση:

Πιστεύω ότι η απάντηση στο ερώτημα της μεθοδολογίας σχετικά με το πρόβλημα αυτό είναι ότι συνδυασμοί με πανομοιότυπα στοιχεία εντός του πληθυσμού (όπως π.χ. # 4n # κάρτες με # n # ο αριθμός των τύπων A, B, C και D) δεν εμπίπτει στην ικανότητα του συνδυασμού να υπολογίσει. Αντ 'αυτού, σύμφωνα με τον Δρ Math στο mathforum.org, καταλήγετε να χρειαστείτε μερικές τεχνικές: τη διανομή αντικειμένων σε ξεχωριστά κελιά και την αρχή αποκλεισμού-αποκλεισμού.

Έχω διαβάσει αυτήν την ανάρτηση (http://mathforum.org/library/drmath/view/56197.html) η οποία ασχολείται άμεσα με το θέμα του τρόπου υπολογισμού αυτού του τύπου του προβλήματος ξανά και ξανά και το καθαρό αποτέλεσμα είναι ότι ενώ η απάντηση βρίσκεται εκεί κάπου, δεν θα προσπαθήσω να δώσω μια απάντηση εδώ. Είμαι αισιόδοξος ότι ένας από τους εξειδικευμένους μαθηματικούς γκουρού μας μπορεί να ενταχθεί και να σας δώσει μια καλύτερη απάντηση.

Απάντηση:

Ένα πρόγραμμα μέτρησης στο C αποδίδει τα ακόλουθα αποτελέσματα:

Εξήγηση:

#περιλαμβάνω

int main ()

{

int n, i, j, k, t, br, br2, numcomb, int χτένα 5000 4;

μακρύς αριθμός?

για (η = 1, η <= 20, η ++)

{

numcomb = 0;

(k = 0, k <= n-i-j; k ++) για το i = 0, i <= n; i ++)

{

χτένα numcomb 0 = i;

χτένα numcomb 1 = j;

χτένα numcomb 2 = k;

χτένα numcomb 3 = n-i-j-k;

numcomb ++;

}

count = 0;

για (i = 0, i<>

{

για (j = 0, j<>

{

br = 0;

για (t = 0; t <4; t ++) εάν (χτύπημα i t + χτένα j t> n) br = 1;

αν (! br)

{

για (k = 0 · k<>

{

br2 = 0;

για (t = 0; t <4; t ++) αν (χ t + χτύπημα j t + χτένα k t> n) br2 = 1;

εάν (! br2)

{

count ++;

}

}

}

}

}

printf (" nCount για n =% d:% ld.", n, count);

}

printf (" n");

επιστροφή (0);

}