Τεχνητή Νοημοσύνη και Επιστημονική Μέθοδος

Επαναληπτική Άσκηση στον Προγραμματισμό Υπολογιστών – Python (ΕΠΑΛ) 2019 – α

Θεωρείστε ως δεδομένη (δεν χρειάζεται να την κατασκευάσετε) την συνάρτηση subsum(A), όπου Α (θεωρείστε μη-κενή) λίστα ακεραίων (int). Η συνάρτηση subsum επιστρέφει True αν στην λίστα Α υπάρχουν κάποια στοιχεία (ένα ή περισσότερα) τα οποία έχουν άθροισμα μηδέν, σε διαφορετική περίπτωση επιστρέφει False. Για παράδειγμα, αν η Α περιέχει τις τιμές 5, -2, -3,  τότε η subsum θα επιστρέψει True, αφού 5-2-3=0, ενώ αν η Α περιέχει μόνο θετικές τιμές, θα επιστρέψει, προφανώς, False.

Κατασκευάστε ένα πρόγραμμα το οποίο να διαβάζει τις τιμές χιλίων ακεραίων, να τις καταχωρίζει στην λίστα A και – με την βοήθεια της συνάρτησης subsum – αν υπάρχουν κάποιες τιμές στην λίστα Α που έχουν άθροισμα μηδέν, να εμφανίζει σε μορφή λίστας έναν (οποιονδήποτε) συγκεκριμένο συνδυασμό στοιχείων που έχουν άθροισμα μηδέν, αλλιώς να εμφανίζει το μήνυμα “δεν υπάρχει συνδυασμός στοιχείων με άθροισμα 0”. Για παράδειγμα, στο πρώτο από τα παραπάνω δύο παραδείγματα αρκεί να εμφανίσει την λίστα [5, -2 , -3], ενώ στο δεύτερο θα πρέπει να εμφανίσει το μήνυμα “δεν υπάρχει συνδυασμός στοιχείων με άθροισμα 0”.

Γιώργος Μπουγιούκας