Πίσω

Δραστηριότητα 3

   Να χρησιμοποιήστε το μέγιστο κοινό διαιρέτη για να καθορίσετε αν υπάρχουν εξαρτήσεις στον ακόλουθο βρόχο:

for (i=2 ; i 1000 ; i+=2){
a[i]=a[50*i+1];     }



Απάντηση δραστηριότητας 3

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

for (i=1 ; i 50 ; i++){
a[2*i]=a[100*i+1];     }


Σύμφωνα με τη θεωρία οι τιμές των a, b, c και d είναι:
a=2, b=0, c=100 και d=1.
Ο μέγιστος κοινός διαιρέτης των a και c είναι GCD (a,c) = GCD (2,100) = 2
και d-b = 1-0=1.
Παρατηρούμε ότι το 2 δεν διαιρεί το 1, άρα δεν υπάρχει κάποια εξάρτηση.