Συζητήσεις για το μάθημα και ανακοινώσεις

Υπόδειξη για το πρόγραμμα 51

 
Picture of Μιχάλης Κολουντζάκης
Υπόδειξη για το πρόγραμμα 51
by Μιχάλης Κολουντζάκης - Friday, 8 December 2017, 3:46 PM
 

\(\)Μια υπόδειξη για το πρόγραμμα 51.

Αν διατάξει κανείς σε φθίνουσα σειρά τις αξίες των νομισμάτων που έχει:

$C_1 > C_2 > \cdots > C_k$

και είναι $n$ το ποσό που θέλουμε να γράψουμε ως άθροισμα των αξιών $C_j$, τότε οι τρόποι με τους οποίους μπορεί να γίνει αυτό χωρίζονται φυσιολογικά σε δύο κατηγορίες: (α) αυτούς όπου η αξία $C_1$ δε χρησιμοποιείται και (β) αυτούς όπου η αξία $C_1$ χρησιμοποιείται τουλάχιστον μια φορά.

Η περίπτωση (α) είναι ξανά μια μορφή του ίδιου προβλήματος όπου προσπαθούμε να γράψουμε το ίδιο ποσό $n$ αλλά μόνο με τα νομίσματα $C_2, C_3, \ldots, C_k$.

Η περίπτωση (β) είναι ξανά μια μορφή του ίδιου προβλήματος όπου προσπαθούμε να γράψουμε το ποσό $n-C_1$ και ξανά με τα νομίσματα $C_1, C_2, \ldots, C_k$.

Με αυτή την υπόδειξη θα πρέπει να μπορείτε εύκολα να γράψετε μια αναδρομική συνάρτηση για να λύσετε το πρόβλημα, αρκεί να προσέξετε λίγο τις ακραίες περιπτώσεις όπου τερματίζεται η αναδρομή.

Κατά τα άλλα ισχύουν και όσα έχω γράψει παλαιότερα στο πρόβλημα με τα διαστήματα: δείτε εδώ και φανταστείτε ότι τα ποσά μπορεί να είναι και πραγματικοί αριθμοί (ή πολύ μεγάλοι ακέραιοι, που κάνε, κατά κάποιο τρόπο, το ίδιο).