"Ένα πολυκατάστημα διοργανώνει μια κλήρωση για την Ημέρα του Πατέρα με τους εξής κανόνες: Ο διοργανωτής έχει ετοιμάσει δέκα κάρτες με αριθμούς 1, 2, ..., 9, όπου υπάρχουν δύο κάρτες με τον αριθμό 8 και οι υπόλοιπες κάρτες έχουν από έναν αριθμό. Από αυτές τις δέκα κάρτες, επιλέγονται τυχαία τέσσερις κάρτες χωρίς επανατοποθέτηση και τοποθετούνται σε σειρά από αριστερά προς τα δεξιά για να σχηματίσουν έναν τετραψήφιο αριθμό. Εάν ο τετραψήφιος αριθμός πληροί μία τουλάχιστον από τις παρακάτω προϋποθέσεις, ο συμμετέχων κερδίζει ένα βραβείο:
1. Ο τετραψήφιος αριθμός είναι μεγαλύτερος από 6400.
2. Ο τετραψήφιος αριθμός περιέχει δύο αριθμούς 8.
Για παράδειγμα, αν οι τέσσερις κάρτες που επιλέγονται είναι 5, 8, 2, 8, τότε ο τετραψήφιος αριθμός είναι 5828 και κερδίζει βραβείο. Σύμφωνα με τους παραπάνω κανόνες, πόσοι συνολικά τετραψήφιοι αριθμοί υπάρχουν που κερδίζουν βραβείο; "
Το AI μπορεί να μην την έλυσε σωστά (ο κορμός της λύσης του ήταν σωστός αλλά του διέφυγαν αρκετές λεπτομέρειeς), αλλά όταν του το ζήτησα μου έγραψε τον παρακάτω σύντομο κώδικα, (μόλις 10 γραμμών) σε χρόνο dt.
Προσπαθήστε να κάνετε αυτό που η ΑΙ δεν κατάφερε!
Κώδικας: Επιλογή όλων
from itertools import permutations
# Οι κάρτες που έχουμε
cards = [1, 2, 3, 4, 5, 6, 7, 8, 8, 9]
# Λίστα για να αποθηκεύσουμε τους αριθμούς που κερδίζουν
winning_numbers = []
# Δημιουργία όλων των δυνατών συνδυασμών τεσσάρων καρτών
for combo in permutations(cards, 4):
number = int(''.join(map(str, combo)))
# Έλεγχος αν ο αριθμός είναι μεγαλύτερος από 6400 ή περιέχει δύο 8
if number > 6400 or combo.count(8) == 2:
winning_numbers.append(number)
# Αφαίρεση διπλότυπων αριθμών
winning_numbers = list(set(winning_numbers))
# Εκτύπωση του συνολικού αριθμού των τετραψήφιων αριθμών που κερδίζουν
print("Συνολικός αριθμός τετραψήφιων αριθμών που κερδίζουν:", {len(winning_numbers)})
# Εκτύπωση της λίστας με τους αριθμούς που κερδίζουν
print("Λίστα με τους αριθμούς που κερδίζουν:")
print(winning_numbers)
: 
:

: δεν υπάρχουν διπλότυπα
.
,
: 
: 
, δεν υπάρχουν διπλότυπα :

συνδυασμοί.
συνδυασμοί, αφού η σειρά των 8XX δεν παίζει ρόλο
συνδυασμοί, αφού η σειρά των Y8 δεν παίζει ρόλο
αριθμούς που πληρούν και τις δυο προϋποθέσεις.
τρόπους να επιλέξουμε το πρώτο ψηφίο,
τρόπους το άλλο ψηφίο που δεν είναι ίσο με οκτώ και
τρόπους για το που να τοποθετήσουμε το άλλο ψηφίο. Σύνολο:
τρόποι.
.
. Έχουμε πέντε τρόπους να το επιλέξουμε. Μένουν άλλα
επιλογές για το ποια να επιλέξουμε. Σύνολο
τρόποι.
. Μένουν άλλα
επιλογές για το ποια να επιλέξουμε. Λαμβάνοντας υπόψη και το πρώτο ψηφίο έχουμε
τρόποι.
τρόπους να τα επιλέξουμε.
τρόπους.