!=====================================================================================================================
! Πέντε ναυαγοί προσεγγίζουν ένα νησί του Ειρηνικού όπου ζει ένας πίθηκος ο οποίος τρέφεται με καρύδες κοκοφοίνικα.
! Οι ναυαγοί μαζεύουν καρύδες με σκοπό να τις μοιραστούν μεταξύ τους την άλλη μέρα και πέφτουν για ύπνο.
! Ένας ναυαγός όμως ξυπνάει και πάει να πάρει το 1/5 που του αναλογεί.
! Μετράει τις καρύδες αλλά δεν διαιρούνται ακριβώς με το 5, αλλά περισσεύει μια.
! Τη δίνει λοιπόν στον πίθηκο, παίρνει το 1/5 και το κρύβει κάπου.
! Η ίδια διαδικασία επαναλαμβάνεται και με τους υπόλοιπους 4 ναυαγούς.
! Οι καρύδες ποτέ δεν διαιρούνται ακριβώς με το 5 αλλά πάντα περισσεύει μια την οποία καρπούται ο πίθηκος.
! Την άλλη μέρα υπάρχουν ακόμη αρκετές καρύδες οι οποίες και πάλι δεν διαιρούνται ακριβώς με το 5, αλλά περισσεύει μια.
! Τη δίνουν στον πίθηκο και ο καθένας παίρνει το 1/5 από τις υπάρχουσες καρύδες.
! Ποιος είναι ο ελάχιστος αριθμός καρυδών ώστε η περιγραφείσα διαδικασία να είναι δυνατή;
! Το πρόβλημα είναι δυνατόν να λυθεί σχετικά εύκολα θεωρώντας α0 τον αρχικό αριθμό καρυδών
! και αn ο αριθμός των καρυδών που απέμειναν αφότου και ο n-οστός ναυαγός πήρε το μερίδιο του,
! δηλαδή n=1,2,3,4,5. Σύμφωνα με τα παραπάνω θα ισχύουν τα εξής: i) Αn=4/5(Αn-1 -1) και ii) Α5=5κ+1 .
! Να αναπτύξετε αλγόριθμο ο οποίος υπολογίζει τη λύση των σχέσεων i) και ii) για τον ελάχιστο αριθμό κ
! με α0, α1, α2, α3, α4, α5, ακεραίους επίσης.
!=====================================================================================================================
ΠΡΟΓΡΑΜΜΑ Πονηροί_Ναυαγοί
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: i,n,ακεραίος,Ακ[6]
ΠΡΑΓΜΑΤΙΚΕΣ: Α[6]
ΛΟΓΙΚΕΣ:βρεθηκε
ΑΡΧΗ
i <-- 0
βρεθηκε <-- ψευδής
ΟΣΟ ΟΧΙ βρεθηκε ΕΠΑΝΑΛΑΒΕ ! επαναλαμβάνουμε μέχρι να βρούμε όλους τους όρους της ακολουθίας ακεραίους
i <-- i+5 ! το i απαιτούμε να είναι ακέραιο πολλαπλάσιο του 5
Α[6] <-- i+1 ! καθώς δεν μπορούμε να έχουμε Α[0], μετασχηματίζουμε τους όρους +1
! δηλ. α0 θα είναι το στοιχείο Α[1] και α5 το στοιχείο Α[6], με Α[6] της μορφής 5κ+1, προφανώς ακέραιος
ακεραίος <-- 0
ΓΙΑ n ΑΠΟ 5 ΜΕΧΡΙ 1 ΜΕ ΒΗΜΑ -1 ! υπολογίζουμε κάθε φορά τους υπόλοιπους 5 όρους, θεωρώντας δεδομένο τον Α[6]
Α[n] <-- 5/4 * Α[n+1] +1 !αναγκαστικά όμως θα ορίζουμε το Αn συναρτήσει του Αn+1 και όχι το Αn συναρτήσει του Αn-1
ΑΝ Α[n] = Α_Μ(Α[n]) ΤΟΤΕ ! ελέγχουμε αν οι όροι της ακολουθίας είναι ακέραιοι
ακεραίος <-- ακεραίος +1
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ ακεραίος=5 ΤΟΤΕ ! απαιτούμε για να σταματήσουμε την επανάληψη και οι 5 όροι να ακέραιοι
βρεθηκε <-- αληθής
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
! ακολουθεί εμφάνιση αποτελεσμάτων
ΓΡΑΨΕ 'κ=',i DIV 5
ΓΡΑΨΕ
ΓΙΑ n ΑΠΟ 1 ΜΕΧΡΙ 6
Ακ[n] <-- Α_Μ(Α[n]) ! Ακ: βοηθητικός πίνακας για την εμφάνιση αποτελεσμάτων
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΙΑ n ΑΠΟ 1 ΜΕΧΡΙ 6
ΓΡΑΨΕ 'α',n-1,'=',Ακ[n]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΓΡΑΨΕ
ΓΡΑΨΕ 'αρχικά έχουμε ',Ακ[1],' καρύδες'
ΓΡΑΨΕ
ΓΙΑ n ΑΠΟ 1 ΜΕΧΡΙ 5 ! εμφανίζουμε όλους τους όρους και πως προκύπτει ο κάθε επόμενος
ΓΡΑΨΕ Ακ[n],'-1=',Ακ[n]-1,' *1/5 =',(Ακ[n]-1) DIV 5, ' άρα ',Ακ[n]-1,'-',(Ακ[n]-1)DIV 5,'= ',(Ακ[n]-1)-(Ακ[n]-1)DIV 5
ΓΡΑΨΕ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ