ΑΕΠΠ ΕΠΙΛΟΓΕΣ Κατασκευα στε υποπρο γραμμα το οποί ο να ελε γχεί αν ε νας πί νακας εί ναί ταξίνομημε νος σε αυ ξουσα σείρα. ΔΣ6. Δίνονταί οί πίνακες Σ1(Κ, Κ) καί Π1(Κ, Κ) που περίέχουν τα αποτελέσματα των αγώνωνομίλου του EurοBasket. Ο πίνακας Σ1 περίέχεί τα αποτελέσματα των αγώνων (Ν (νίκη) ή Η(ήττα)), ενώ ο πίνακας 1 τη δίαφορά πόντων γία κάθε αγώνα.να γραφτεί πρόγραμμα το οποίο θα βρίσκεί καί θα εκτυπώνεί την τελίκή βαθμολογία τουομίλου. Σε περίπτωση ίσοβαθμίας προηγείταί η ομάδα που έχεί την καλύτερη δίαφοράπόντων από τίς ίσόβαθμές τηςτα στοίχεία της κύρίας δίαγωνίου δεν περίέχουν καμία πληροφορία (καμία ομάδα δενπαίζεί με τον εαυτό της!)ο πίνακας περίέχεί στοίχεία μόνο κάτω ή πάνω από τη δίαγώνίό του, είναί δηλαδήτρίγωνίκός (κάθε ομάδα παίζεί μόνο μία φορά με κάθε αντίπαλο) Θεωρούμε ότί συμμετέχουν 15 ομάδες. Είσάγονταί οί δύο κάτω τρίγωνίκοί πίνακες Σ1 καί Π1, 15 γραμμών καί 15 στηλών ο καθένας. Γία παράδείγμα, ο πίνακας Π1, αν ήταν 5 5, θα μπορούσε να ήταν ο: Έπείτα από την είσαγωγή των πίνάκων το υπόλοίπο τμήμα του προγράμματος είναί το εξής:! Μηδενίζουμε δύο μονοδίάστατους πίνακες 15 στοίχεί-! ων όπου στον έναν θα καταχωρίστούν οί τελίκές βαθμο-! λογίες καί στον άλλο η δίαφορά πόντων που πέτυχε η! κάθε ομάδα στο πρωτάθλημα. γία ομ από 1 μέχρί 15 Βαθμολογία[ομ] 0 δίαφορά_πόντων[ομ] 0! Προσπελαύνουμε το κάτω τρίγωνίκό τμήμα του πίνακα! Σ1. Αν σε οποίοδήποτε στοίχείο του πίνακα, γία παρά-! δείγμα το Σ1[4, 2], περίέχεταί το 'Ν' [που σημαίνεί ότί η! ομάδα 4 (ομάδα i) νίκησε την ομάδα 2 (ομάδα j)] τότε! προσθέτουμε 2 πόντους στη μέχρί τότε βαθμολογία της! ομάδας 4 καί 1 πόντο στη βαθμολογία της ομάδας 2.! Το αντίθετο συμβαίνεί στην περίπτωση που στη συγκε-! κρίμένη θέση του πίνακα Σ1 περίέχεταί το 'Η'.! Όσον αφορά τους πόντους των ομάδων, προσθέτουμε! τη δίαφορά πόντων του αγώνα στο στοίχείο του πίνακα! 'δίαφορά_πόντων' που αντίστοίχεί στην ομάδα που κέρ-! δίσε, ενώ αφαίρούμε την ίδία ποσότητα από το στοίχείο! που αντίστοίχεί στην ομάδα που έχασε. γία ομ από 2 μέχρί 15 γία αντομ από 1 μέχρί i 1! αντομ: αντίπαλη ομάδα. αν Σ1[i, j] = 'N' τότε Βαθμολογία[ομ] Βαθμολογία[ομ] + 2 Βαθμολογία[αντομ] Βαθμολογία[αντομ] + 1
δίαφορά_πόντων[ομ] δίαφορά_πόντων[ομ] + Π1[ομ, αντομ] δίαφορά_πόντων [αντομ] δίαφορά_πόντων[αντομ] Π1[ομ, αντομ] αλλίώς Βαθμολογία[ομ] Βαθμολογία[ομ] + 1 Βαθμολογία[αντομ] Βαθμολογία[αντομ] + 2 δίαφορά_πόντων[ομ] δίαφορά_πόντων[ομ] Π1[ομ, αντομ] δίαφορά_πόντων [αντομ] δίαφορά_πόντων[αντομ] + Π1[ομ, αντομ] τέλος_αν! Κατασκευάζουμε έναν πίνακα ' Όνομα' που περίέχεί! τους αρίθμούς των ομάδων (1-15). γία ομ από 1 μέχρί 15 Όνομα[ομ] i! Ταξίνομούμε με τη μέθοδο της φυσαλίδας τους παράλ-! ληλους πίνακες 'Βαθμολογία', ' Όνομα' καί 'Δίαφορά_! πόντων', με βάση τον πίνακα 'Βαθμολογία', σε φθίνουσα! σείρά. Σε περίπτωση ίσοβαθμίας η αντίμετάθεση πραγ-! ματοποίείταί μόνο στην περίπτωση που η ομάδα που! βρίσκεταί σε μεγαλύτερη θέση στον πίνακα (θέση j) έχεί! μεγαλύτερη δίαφορά πόντων στο πρωτάθλημα από την! ομάδα που βρίσκεταί σε μίκρότερη θέση στον πίνακα! (θέση j - 1). γία i από 2 μέχρί 15 γία j από 15 μέχρί i με_βήμα 1 αν Βαθμολογία[j 1] < Βαθμολογία[j] τότε tempβ Βαθμολογία [j] Βαθμολογία[j] Βαθμολογία[j 1] Βαθμολογία[j 1] tempβ tempόνομα Όνομα[j] Όνομα [j] Όνομα[j 1] Όνομα[j 1] tempόνομα temp δίαδορά_πόντων[j] δίαφορά_πόντων[j] δίαφορά_πόντων[j 1] δίαφορά[j 1] tempδ αλλίώς_αν Βαθμολογία[j 1] = Βαθμολογία[j] τότε αν δίαφορά_πόντων[j 1] < δίαφορά_πόντων[j] τότε tempβ Βαθμολογία[j] Βαθμολογία[j] Βαθμολογία[j 1] Βαθμολογία[j 1] tempβ tempόνομα Όνομα[j] Όνομα[j] Όνομα[j 1] Όνομα[j 1] tempόνομα temp δίαδορά_πόντων[j] δίαφορά_πόντων[j] δίαφορά_πόντων[j 1] δίαφορά[j 1] tempδ
τέλος_αν τέλος_αν γία ομ από 1 μέχρί 15 γράψε Όνομα[ομ] ΠΡΟΓΡΑΜΜΑ Πρωτάθλημα ΜΕΤΑΒΛΗΤΕΣΧΑΡΑΚΤΗΡΕΣ : Σ1[15, 15], ΟΜΑΔΑ[15], βοηθητίκή1! Έστω οτί υπάρχουν 15 ομάδες στονόμίλοακεραιεσ : Π1[15, 15], ΒΑΘΜΟΙ[15], ΔΙΑΦΟΡΑ[15], i, j, βοηθητίκή2 ΓΡΑΨΕ 'Δώστε τα ονόματα των ομάδων του ομίλου' ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 15 ΔΙΑΒΑΣΕ ΟΜΑΔΑ[i] ΓΡΑΨΕ "Δώστε Nίκη (Ν) /Ήττα (H)" ΓΙΑ iαπο1μεχρι15 ΓΡΑΨΕ 'Ομάδα ', ΟΜΑΔΑ[i] ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 15 ΓΡΑΨΕ 'εναντίον ομάδας ', ΟΜΑΔΑ[j] ΑΝ (i < j) ΤΟΤΕ! Άνω από την κύρία δίαγώνίο δείτε καί άσκηση 3.2.1.Ασκ7 _ΕΠΑΝΑΛΗΨΗΣ ΔΙΑΒΑΣΕ Σ1[i, j] ΜΕΧΡΙΣ_ΟΤΟΥ (Σ1[i, j] = 'Ν') Η (Σ1[i, j] = 'Η') ΓΡΑΨΕ 'Δίαφορά πόντων γία τον αγώνα αυτό' ΔΙΑΒΑΣΕ Π1[i, j] ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 15 ΒΑΘΜΟΙ[i] <- 0 ΔΙΑΦΟΡΑ[i] <- 0 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 15 ΑΝ (i < j) ΤΟΤΕ ΑΝ (Σ1[i, j] = 'N') ΤΟΤΕ!θα δημίουργήσουμε καί τον πίνακα δίαφοράς σκορ γία τίςίσοβαθμίες ΒΑΘΜΟΙ[i] <- ΒΑΘΜΟΙ[i] + 2 ΔΙΑΦΟΡΑ[i] <- ΔΙΑΦΟΡΑ[i] + Π1[i, j] ΒΑΘΜΟΙ[j] <- ΒΑΘΜΟΙ[j] + 1 ΔΙΑΦΟΡΑ[j] <- ΔΙΑΦΟΡΑ[j] - Π1[i, j] ΑΛΛΙΩΣ ΒΑΘΜΟΙ[i] <- ΒΑΘΜΟΙ[i] + 1 ΔΙΑΦΟΡΑ[i] <- ΔΙΑΦΟΡΑ[i] - Π1[i, j] ΒΑΘΜΟΙ[j] <- ΒΑΘΜΟΙ[j] + 2 ΔΙΑΦΟΡΑ[j] <- ΔΙΑΦΟΡΑ[j] + Π1[i, j]
ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 15 ΓΙΑ j ΑΠΟ 15 ΜΕΧΡΙ i ΜΕ_BHMA -1 ΑΝ (ΒΑΘΜΟΙ[j-1] < ΒΑΘΜΟΙ[j]) ΤΟΤΕ!φθίνουσα ταξίνόμηση ως προς τη βαθμολογία βοηθητίκή2 <- ΒΑΘΜΟΙ[j-1]!αντίμετάθεση πίνακα βαθμολογίας ΒΑΘΜΟΙ[j-1] <- ΒΑΘΜΟΙ[j] ΒΑΘΜΟΙ[j] <- βοηθητίκή2 βοηθητίκή2 <- ΔΙΑΦΟΡΑ[j-1]!ταυτόχρονη αντίμετάθεση πίνακα δίαφορών ΔΙΑΦΟΡΑ[j-1] <- ΔΙΑΦΟΡΑ[j] ΔΙΑΦΟΡΑ[j] <- βοηθητίκή2 βοηθητίκή1 <- ΟΜΑΔΑ[j-1]!ταυτόχρονη αντίμετάθεση πίνακα ονομάτων ΟΜΑΔΑ[j-1] <- ΟΜΑΔΑ[[j] ΟΜΑΔΑ[j] <- βοηθητίκή1 ΑΛΛΙΩΣ_ΑΝ (ΒΑΘΜΟΙ[j-1] = ΒΑΘΜΟΙ[j]) ΤΟΤΕ!σε περίπτωση ίσοβαθμίας ΑΝ (ΔΙΑΦΟΡΑ[j-1] < ΔΙΑΦΟΡΑ[j]) ΤΟΤΕ!φθίνουσα ταξίνόμηση ως προς τη δίαφοράπόντων βοηθητίκή2 <- ΔΙΑΦΟΡΑ[j-1]!αντίμετάθεση πίνακα δίαφορών ΔΙΑΦΟΡΑ[j-1] <- ΔΙΑΦΟΡΑ[j] ΔΙΑΦΟΡΑ[j] <- βοηθητίκή2 βοηθητίκή1 <- ΟΜΑΔΑ[j-1]!ταυτόχρονη αντίμετάθεση πίνακα ονομάτων ΟΜΑΔΑ[j-1] <- ΟΜΑΔΑ[j] ΟΜΑΔΑ[j] <- βοηθητίκή1
6.1 Τα αποτελε σματα των αγωνων του Eurobasket (νί κη η η ττα) καθως καί η δίαφορα πο ντων γία τον ο μίλο που η ταν καί η Εθνίκη μας περίε χονταί στους παρακα τω πί νακες: Τα ονόματα των ομάδων σε μονοδίάστατο πίνακα ΟΝ[6] Τον χαρακτηρίσμό κάθε αγώνα ( Ν ή Η ) σε δίσδίάστατο πίνακα Α[6,6] Τη δίαφορά πόντων κάθε αγώνα σε δίσδίάστατο πίνακα Π[6,6] Να γραφεί πρόγραμμα που δίαβάζεί τα δεδομένα στους παραπάνω πίνακες καί εκτυπώνεί τη τελίκή βαθμολογία του ομίλου (ονόματα καί βαθμούς) ξεκίνώντας από τον καλύτερο Σημείωση: Σε περίπτωση ίσοβαθμίας προηγείταί η ομάδα που έχεί την καλύτερη δίαφορά πόντων από τίς ίσόβαθμες. Αν έχουν την ίδία δίαφορά πόντων, τότε η κατάταξη γίνεταί ονομαστίκά. Γία παράδείγμα οί πίνακες θα έχουν τη μορφή ΠΙΝΑΚΑΣ Α Γερμανία Ελλάδα Σερβία Ιταλία Ρωσία Γαλλία Γερμανία Ελλάδα Ν Σερβία Η Η Ιταλία Ν Ν Η Ρωσία Η Η Η Ν Γαλλία Ν Ν Ν Ν Η ΠΙΝΑΚΑΣ Π Γερμανία Ελλάδα Σερβία Ιταλία Ρωσία Γαλλία Γερμανία Ελλάδα 5 Σερβία 6 7 Ιταλία 3 4 8 Ρωσία 8 6 9 9 Γαλλία 1 8 2 2 7 ΠΙΝΑΚΑΣ ΟΝ Γερμανία Ελλάδα Σερβία Ιταλία Ρωσία Γαλλία Κάθε κελί αντιστοιχεί σε έναν αγώνα μεταξύ της ομάδας που αντιστοιχεί στη γραμμή και της ομάδας που αντιστοιχεί στη στήλη. Το αποτέλεσμα Ν ή Η σημαίνει ότι η ομάδα που αντιστοιχεί στη γραμμή νίκησε ή αντίστοιχα έχασε από την ομάδα που αντιστοιχεί στη στήλη. Ο αριθμός δείχνει τη διαφορά πόντων. Π.χ. η Ελλάδα νίκησε τη Γερμανία με 5 πόντους διαφορά ενώ η Σερβία ηττήθηκε από την Ελλάδα με 7 πόντους διαφορά. Τα στοιχεία της κύριας διαγωνίου δεν περιέχουν καμία πληροφορία αφού καμία ομάδα δεν παίζει με τον εαυτό της. Ο πίνακας περιέχει στοιχεία μόνο κάτω από τη διαγώνιό του, είναι δηλαδή τετραγωνικός. Για κάθε αγώνα η νικήτρια ομάδα παίρνει 2 βαθμούς και η ηττημένη 1 βαθμό.
!-------------------------------------------------! Το πρόγραμμα δέχεταί δύο ακέραίους αρίθμούς καί! υπολογίζεί το ΜΚΔ καί το ΕΚΠ! χρησίμοποώντας1 δίαδίκασία καί 2 συναρτήσείς!------------------------------------------------------- ΠΡΟΓΡΑΜΜΑ ΜΚΔ_ΕΚΠ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:Χ,Υ,ΜΓ,ΕΛ ΓΡΑΨΕ_ 'Δώσε τον πρώτο ακέραίο' ΔΙΑΒΑΣΕ Χ ΓΡΑΨΕ_ 'Δώσε τον δεύτερο ακέραίο' ΔΙΑΒΑΣΕ Υ ΜΓ <-- ΜΚΔ(Χ,Υ) ΕΛ <-- ΕΚΠ(Χ,Υ,ΜΓ) ΓΡΑΨΕ 'Ο ΜΚΔ των αρίθμών ',Χ,' καί ',Υ,' είναί ο ',ΜΓ ΓΡΑΨΕ 'Το ΕΚΠ των αρίθμών ',Χ,' καί ',Υ,' είναί ο ',ΕΛ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΜΚΔ_ΕΚΠ!-------------------------------------------------------------------------------------------! Η δίαδίκασία τοποθετεί στην πρώτη μεταβλητή το μίκρότερο καί στην Β το μεγαλύτερο αρίθμό!------------------------------------------------------------------------------------------- ΔΙΑΔΙΚΑΣΙΑ ΤΑΞΙΝΟΜΗΣΗ(Α,Β) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α,Β,ΒΟΗΘ ΑΝ Α>Β ΤΟΤΕ ΒΟΗΘ <-- Α Α <-- Β Β <-- ΒΟΗΘ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ!-------------------------------------------------------------------------------------------! Η συνάρτηση υπολογίζεί το ΜΚΔ των Α καί Β!------------------------------------------------------------------------------------------- ΣΥΝΑΡΤΗΣΗ ΜΚΔ(Α,Β): ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α,Β,Ι,Μ,ΒΟΗΘ ΚΑΛΕΣΕ ΤΑΞΙΝΟΜΗΣΗ(Α,Β) Ι <-- 1 Μ <-- 1 ΟΣΟ Ι<=Α ΕΠΑΝΑΛΑΒΕ ΑΝ (Α MOD Ι=0) ΚΑΙ (Β MOD Ι=0) ΤΟΤΕ Μ <-- Ι Ι <-- Ι+1 ΜΚΔ <-- Μ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ!-------------------------------------------------------------------------------------------
! Η συνάρτηση υπολογίζεί το ΕΚΠ των Α καί Β!------------------------------------------------------------------------------------------- ΣΥΝΑΡΤΗΣΗ ΕΚΠ(Α,Β,Μ) : ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Α,Β,Μ ΕΚΠ <-- Α*Β DIV Μ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ Πρόβλημα Μαθ-3. 1. Ελάχίστο Κοίνό Πολλαπλάσίο 2 αρίθμών Πολλαπλάσία 3 Πολλαπλάσία 4 3*1=3 4, 8, 12, 16, 20, 24, 28, 32, 36, 40 3*2=6 3*3=9 3*4=12 3*5=15 18, 21, 24, 27, 30, 33, 36, 39 Κοίνό Πολλαπλάσία του 3, 4 12, 24, 36 Ελάχίστο (μίκρότερο) από τα Κοίνά Πολλαπλάσία 12 Συγκρίνω τους α καί β. Έστω ότί μεγαλύτερος είναί ο β. Τότε υπολογίζω δίαδοχίκά τα πολλαπλάσία του β, ξεκίνώντας από το ίδίο το β, μέχρί να βρω ένα κοίνό πολλαπλάσίό του με το α. Γία παράδείγμα: Έστω ότί α=150 καί β=350. Μεγαλύτερος είναί ο β. Έστω το πολλαπλάσίο του β που κάθε φορά εξετάζω ν. Έχω: Γία ν=1*β=350 δεν είναί πολλαπλάσίο του α. Γία ν=2*β=700 δεν είναί πολλαπλάσίο του α. Γία ν=3*β=1050 είναί πολλαπλάσίο του α. Άρα ΕΚΠ(α,β)=1050. Αλγόρίθμος Ελάχίστο_κοίνό_πολλαπλάσίο Δίάβασε α, β Αν α>β τότε max α min β αλλίώς max β min α Τέλος_αν βρέθηκε_εκπ ψευδής i 1 Αρχή_επανάληψης πολλαπλάσίο_max max * i Αν πολλαπλάσίο_max mod min = 0 τότε
ΕΚΠ πολλαπλάσίο_max βρέθηκε_εκπ αληθής αλλίώς i i + 1 Τέλος_αν μέχρίς_ότου βρέθηκε_εκπ = αληθής Αποτελέσματα //ΕΚΠ// Τε λος Ελα χίστο_κοίνο _πολλαπλα σίο Πρόβλημα Μαθ-3. 2. Δίαίρέτης του αρίθμού α λέγεταί κάθε φυσίκός αρίθμός κ γία τον οποίο υπάρχεί αρίθμός μ τέτοίος, ώστε: α=μκ Με άλλα λόγία όποίος από τους αρίθμούς α, α/2, α/2, α/4,... είναί φυσίκός, είναί δίαίρέτης του α. Κάθε δίαίρέτης του α είναί μίκρότερος ή ίσος του α, αφού ο μ είναί φυσίκός (μη μηδενίκός) αρίθμός. Κοίνός δίαίρέτης των αρίθμών α καί β λέγεταί κάθε αρίθμός κ, ο οποίος είναί ταυτόχρονα δίαίρέτης του α καί δίαίρέτης του β. Δηλαδή υπάρχουν φυσίκοί αρίθμοί μ καί ν τέτοίοί, ώστε α=μκ καί β=νκ. Κάθε ζεύγος α καί β έχεί τουλάχίστον ένα κοίνό δίαίρέτη το 1. Κάθε κοίνός δίαίρέτης είναί μίκρότερος ή ίσος με τους α καί β. Μέγίστος κοίνός δίαίρέτης των αρίθμών α καί β είναί ο μεγαλύτερος κοίνός δίαίρέτης των α καί β. Επείδή, κάθε κοίνός δίαίρέτης είναί μίκρότερος ή ίσος με τους α καί β, αποδείκνύεταί ότί υπάρχεί μέγίστος δίαίρέτης τους. ο μέγίστος κοίνός δίαίρέτης των α, β συμβολίζεταί με ΜΚΔ(α,β). α =120 καί β =350 Δίαίρέτες του α α mod κ = 0, κ=1, 2, 3, 4,.., α Δίαίρέτες του α=15 Δίαίρέτες του β=70 1, 3, 5, 15 1, 5, 7, 10, 14, 35, 70 15, 5 Κοίνοί Δίαίρέτες 1, 5 Μέγίστος κοίνός Δίαίρέτης 5 Αλγόρίθμος Μέγίστος_Κοίνός_Δίαίρέτης Δίάβασε α, β Αν α<β τότε min α max β αλλίώς min β max α
Τέλος_αν βρέθηκε_μκδ ψευδής κ min Αρχή_επανάληψης Αν min mod κ = 0 τότε Αν max mod κ = 0 τότε ΜΚΔ κ βρέθηκε_μκδ αληθής αλλίώς κ κ - 1 Τέλος_αν αλλίώς κ κ - 1 Τέλος_αν μέχρίς_ότου βρέθηκε_μκδ = αληθής Αποτελέσματα //ΜΚΔ// Τέλος Μέγίστος_Κοίνός_Δίαίρέτης
ΑΝΑΛΥΣΗ ΑΡΙΘΜΟΥ ΣΕ ΓΙΝΟΜΕΝΟ ΠΡΩΤΩΝ ΠΑΡΑΓΟΝΤΩΝ!=================================================================== ===========================! Να γραφεί προ γραμμα το οποί ο δε χεταί ε να φυσίκο αρίθμο N! καί τον αναλυ εί σε γίνο μενο πρωτων παραγο ντων, δηλαδη! οί πα ραγοντες πρε πεί να είναί πρωτοί αρίθμοί πχ: 2,3,5,7,11,13,17,19,23, κλπ.!! (Δραστηρίο τητα ΔΣ6, απο το σχολίκο ΤΕΤΡΑΔΙΟ του ΜΑΘΗΤΗ, σελίδα 82, κεφ. 8, Επίλογη καί Επανα ληψη)!! ΠΑΡΑΔΕΙΓΜΑ 1: 144 = 2^4 * 3^2! ΠΑΡΑΔΕΙΓΜΑ 2: 786 = 2^1 * 3^1 * 131^1! ΠΑΡΑΔΕΙΓΜΑ 3: 455 = 5^1 * 7^1 * 13^1! ΠΑΡΑΔΕΙΓΜΑ 4: 46 = 2^1 * 23^1! ==================================================================== =========================!---------------------- 1ος Τρο πος ---------------------- Θεωρηµα: κα θε θετίκο ς ακε ραίος µπορεί να γραφεί Μοναδίκα σαν γίνο µενο πρωτων παραγο ντων (product of primes), ο που οί πρωτοί παρα γοντες γρα φονταί σε αυ ξουσα σείρα. Συµπε ρασµα: το γίνο µενο πρωτων παραγο ντων µπορεί να συνί σταταί απο µηδε ν, ε να η περίσσο τερους απο ε να πρωτους αρίθµου ς. Άσκηση: Γρα ψτε σαν γίνο µενο πρωτων παραγο ντων τους αρίθµου ς: 100, 641, 999, 1024. ΠΡΟΓΡΑΜΜΑ Ανα λυση_αρίθμου _σε_γίνο μενο_πρωτων_παραγο ντων_1 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:Ν,πηλί κο,γίνο μενο,δυ ναμη,i ΓΡΑΨΕ 'Δωσε ακε ραίο αρίθμο ' ΔΙΑΒΑΣΕ Ν
ΓΡΑΨΕ_ '1' πηλί κο <-- Ν γίνο μενο <-- 1 i <-- 1 ΟΣΟ γίνο μενο<ν ΕΠΑΝΑΛΑΒΕ i <-- i+1 δυ ναμη <-- 0 ΟΣΟ (πηλί κο MOD i)=0 ΕΠΑΝΑΛΑΒΕ πηλί κο <-- πηλί κο DIV i δυ ναμη <-- δυ ναμη+1 ΑΝ δυ ναμη>0 ΤΟΤΕ γίνο μενο <-- γίνο μενο*α_μ(i^δυ ναμη) ΓΡΑΨΕ_'*',i,'^',δυ ναμη ΓΡΑΨΕ_ '=',Ν ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΠΡΟΓΡΑΜΜΑ Ανα λυση_αρίθμου _σε_γίνο μενο_πρωτων_παραγο ντων_2 ΣΤΑΘΕΡΕΣ m=10 ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:Ν,πηλί κο,γίνο μενο,δυ ναμη,παραγοντες[m],τα ξη[m],i,j,π ΓΡΑΨΕ 'Δωσε ακε ραίο αρίθμο ' ΔΙΑΒΑΣΕ Ν πηλί κο <-- Ν γίνο μενο <-- 1 i <-- 1 π <-- 0 ΟΣΟ γίνο μενο<ν ΕΠΑΝΑΛΑΒΕ i <-- i+1 δυ ναμη <-- 0 ΟΣΟ (πηλί κο MOD i)=0 ΕΠΑΝΑΛΑΒΕ πηλί κο <-- πηλί κο DIV i δυ ναμη <-- δυ ναμη+1 ΑΝ δυ ναμη>0 ΤΟΤΕ π <-- π+1 παραγοντες[π] <-- i τα ξη[π] <-- δυ ναμη γίνο μενο <-- γίνο μενο*α_μ(i^δυ ναμη)
ΓΡΑΨΕ ΓΡΑΨΕ_'1' ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ π ΓΡΑΨΕ_ '*',παραγοντες[j],'^',τα ξη[j] ΓΡΑΨΕ '=',Ν ΓΡΑΨΕ ΓΡΑΨΕ_'1' ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ π ΓΡΑΨΕ_ '*',Α_Μ(παραγοντες[j]^τα ξη[j]) ΓΡΑΨΕ '=',Ν ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΠΡΟΓΡΑΜΜΑ Παράγοντες ΜΕΤΑΒΛΗΤΕΣΑΚΕΡΑΙΕΣ : αρίθμός, βοηθητίκή, i, p, k ΔΙΑΒΑΣΕ αρίθμός βοηθητίκή < αρίθμός i < 1 p < 1 _ΕΠΑΝΑΛΗΨΗΣ i < i + 1k < 0 ΟΣΟ βοηθητίκή MOD i = 0 ΕΠΑΝΑΛΑΒΕ βοηθητίκή < βοηθητίκή DIV ik < k + 1 ΑΝ (k > 0) ΤΟΤΕΓΡΑΨΕ i, k p < p * i ^ k ΜΕΧΡΙ_ΟΤΟΥ p = αρίθμός ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ