Αποστολέας Θέμα: Δύσκολες Ασκήσεις στις Δομές Επανάληψης  (Αναγνώστηκε 31468 φορές)

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3103
  • to Iterate is human to Recurse divine
Απ: Δύσκολες Ασκήσεις στις Δομές Επανάληψης
« Απάντηση #75 στις: 17 Νοέ 2015, 11:42:32 πμ »
Ο πρώτος είναι 2520 = 9x8x7x5.
Τα 1,2,3,4,6,10 προκύπτουν από συνδυασμούς διαιρετών των 4 παραπάνω παραγόντων.
Λογικά μετά δεν θα είναι
  1 x 2520
  2 x 2520
  3 x 2520
  .........
  + 10x2520

ή (1+..+10)*2520 = 10(10+1)/2 * 2520

αλλά κάτι δε μου πάει καλά στον συλλογισμό μου....
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 539
  • There can be only one...may it be AEPP.
Απ: Δύσκολες Ασκήσεις στις Δομές Επανάληψης
« Απάντηση #76 στις: 17 Νοέ 2015, 12:23:13 μμ »
Είχα την εντύπωση πως υπάρχουν αριθμοί "ενδιάμεσα" από τα πολλαπλάσια του 2520!!!

Ο πρώτος είναι 2520 = 9x8x7x5.
Τα 1,2,3,4,6,10 προκύπτουν από συνδυασμούς διαιρετών των 4 παραπάνω παραγόντων.
Λογικά μετά δεν θα είναι
  1 x 2520
  2 x 2520
  3 x 2520
  .........
  + 10x2520

ή (1+..+10)*2520 = 10(10+1)/2 * 2520

αλλά κάτι δε μου πάει καλά στον συλλογισμό μου....
:'( :'( :'( :'(
Τόσο απλό ήταν τελικά...

Το αλλάζω....
Να βρεθεί το άθροισμα των 10 θετικών πρώτων αριθμών που θα συναντήσετε οι οποίοι μπορούν να διαιρεθούν ακριβώς ο καθένας τους, χωρίς να αφήνει υπόλοιπο, με όλους τους αριθμούς από το 1 μέχρι το 10 ο πρώτος , με τους αριθμούς 1 - 20 ο δεύτερος, με τους αριθμούς 1 - 30 ο τρίτος και λοιπά...... μέχρι τον δέκατο αριθμό ο οποίος θα πρέπει να διαιρείται με όλους τους αριθμούς από το 1 - 100.  :P :P :P

Υ.Γ. Πρέπει να ξαναδιαβάσω το αγαπημένο μου βιβλίο "How to be smarter,  for Dummies!!!" ακούγοντας το αγαπημένο μου τραγουδάκι  https://www.youtube.com/watch?v=iCnvd5_Q7gQ

Την καλησπέρα μου στον Κύριο Βραχνό με μεγατόνους σεβασμού!
Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 887
Απ: Δύσκολες Ασκήσεις στις Δομές Επανάληψης
« Απάντηση #77 στις: 17 Νοέ 2015, 02:26:00 μμ »
αλλά κάτι δε μου πάει καλά στον συλλογισμό μου....
Μια χαρά είναι ο συλλογισμός σου :)

Δίνω μια λύση για το τελευταίο πρόβλημα, που νομίζω ότι θα δούλευε.
Τώρα για την πολυπλοκότητά της δεν ξέρω...
Κώδικας: [Επιλογή]
ΠΡΟΓΡΑΜΜΑ nikolasmer
ΜΕΤΑΒΛΗΤΕΣ
ΑΚΕΡΑΙΕΣ: S, i, k, a, ΕΚΠ
ΑΡΧΗ
  S <- 0
  ΕΚΠ <- 1
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 10   ! για τους 10 αριθμούς που ψάχνουμε
    a <- 10*i
    ΓΙΑ k ΑΠΟ a-9 ΜΕΧΡΙ a
      ΕΚΠ <- ΕΚΠ * k DIV ΜΚΔ(ΕΚΠ, k)
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ! η τιμή του ΕΚΠ τώρα είναι ο μικρότερος αριθμός που
    ! διαιρείται ακριβώς με όλους τους ακέραιους από 1 μέχρι 10*i
    ΓΡΑΨΕ ΕΚΠ
    S <- S + ΕΚΠ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Το άθροισμα είναι: ', S

ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΣΥΝΑΡΤΗΣΗ ΜΚΔ (x, y): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: x, y, z
ΑΡΧΗ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΝ x < y ΤΟΤΕ
      z <- x
      x <- y
      y <- z
    ΤΕΛΟΣ_ΑΝ
    x <- x MOD y
  ΜΕΧΡΙΣ_ΟΤΟΥ x = 0
  ΜΚΔ <- y
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Βρίσκει ταχύτατα ότι οι 4 πρώτοι ζητούμενοι αριθμοί είναι
2520
232792560
2329089562800
5342931457063200
αλλά από τον πέμπτο και μετά οι αριθμοί γίνονται τόσο μεγάλοι που κλατάρει η αριθμητική του διερμηνευτή
καμιά ιδέα για να ξεπεραστεί αυτό?
« Τελευταία τροποποίηση: 17 Νοέ 2015, 02:37:08 μμ από gthal »
Φιλικά,
Γιώργος Θαλασσινός

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 355
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: Δύσκολες Ασκήσεις στις Δομές Επανάληψης
« Απάντηση #78 στις: 18 Νοέ 2015, 12:01:32 μμ »
Δες ατο παρακάτω πρόγραμμα (το είχα δημοσιεύσει στο SpiNet-Γλωσσομάθεια, το 2003), ένα ενδιαφέρον θέμα για το μέγεθος των αριθμών.  Αντί να κάνω όλους τους πολλαπλασιασμούς και μετά τη διαίρεση, κάνω μια διαίρεση και ένα πολλαπλασιασμό διαδοχικά! Άρα για να κρατήσεις ένα πολύ μεγάλο αριθμό..θα τον έχεις ως δυο αριθμούς, Α και Β όπου ο μεγάλος είναι ο Α*Β
(και εδώ υπάρχει μια διαίρεση με όσα δεκαδικά θέλουμε για να δείξουμε ένα νούμερο, απλά προσαρμόζουμε το που θα δείξουμε - ή όχι- το κόμμα των δεκαδικών).
Εφόσον κρατάμε αριθμούς ως σειρά γινομένων, θα δουλεύουμε πιο αποδοτικά!
Δίνω την ιδέα και τα εργαλεία. Όχι το πρόγραμμα!

ΠΡΟΓΡΑΜΜΑ Α
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Χ,Κ
  ΠΡΑΓΜΑΤΙΚΕΣ: Π, Π1, ΠΕ
ΑΡΧΗ
  ΓΡΑΨΕ 'Συνολικές 6-αδες από 49 νούμερα'
  Χ <-- 6
  Π <-- 49
  ΓΡΑΨΕ 'Π=', 49
  ΓΙΑ Κ ΑΠΟ Χ ΜΕΧΡΙ 2 ΜΕ ΒΗΜΑ -1
    Π1 <-- Π
    ΠΕ <-- (50-Κ)/Κ
    Π <-- Π*ΠΕ
    ΓΡΑΨΕ  '*',Α_Μ(50-Κ),'/ ', Α_Μ(Κ),' = ', Π1,'*',ΠΕ,' => Π=', Π
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'ΕΠΑΛΗΘΕΥΣΗ=', (49*48*47*46*45*44)/(6*5*4*3*2)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 539
  • There can be only one...may it be AEPP.
Απ: Δύσκολες Ασκήσεις στις Δομές Επανάληψης
« Απάντηση #79 στις: 03 Νοέ 2016, 12:17:03 μμ »
Τρεις Ασκήσεις που θεωρώ δύσκολες και κρύβουν σημαντικούς διδακτικούς στόχους όσον αφορά τον προγραμματισμό

1. Να γίνει αλγόριθμος ο οποίος θα διαβάζει αριθμούς μέχρι να δοθεί 0 και θα εμφανίζει τον αριθμό που δόθηκε τις περισσότερες  φορές.
Παραφράζοντας λίγο την άσκηση του κ. Βραχνου.....αυτό λύνεται χωρίς δυναμικές δομές;
Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3103
  • to Iterate is human to Recurse divine
Απ: Δύσκολες Ασκήσεις στις Δομές Επανάληψης
« Απάντηση #80 στις: 03 Νοέ 2016, 09:53:59 μμ »
Έβγαλες το "συνεχόμενες" ε?
Δεν λύνεται χωρίς δυναμικές δομές εκτός αν ξέρεις ποιοι είναι οι αριθμοί οπότε μπορείς να δεσμεύσεις πίνακα μετρητών.
Ωστόσο υπάρχει μια πολύ ωραία και κομψή λύση σε Python με χρήση λεξικού. ;)

Παραφράζοντας λίγο την άσκηση του κ. Βραχνου.....αυτό λύνεται χωρίς δυναμικές δομές;

ΥΓ. Άστο αυτό το κ. Βραχνέ  :-[
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Κωστας τζιαννης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 184
Απ: Δύσκολες Ασκήσεις στις Δομές Επανάληψης
« Απάντηση #81 στις: 28 Μάι 2018, 08:45:13 πμ »
Το θέμα της 1ης φάσης του Πανελλήνιου Διαγωνισμού Πληροφορικής φέτος,

ΜΕΓΙΣΤΟΠΟΙΗΣΗ ΚΕΡΔΟΥΣ

Οι τιμές κάποιων αγαθών ή τίτλων (π.χ. πετρελαίου, χρυσού,  μετοχών αλλά και βασικών τροφίμων όπως των αλεύρων, της ζάχαρης κ.λπ.) διαμορφώνονται καθημερινά βάσει της προσφοράς και της ζήτησης, αλλά και με βάση την εκτίμηση για τη μελλοντική τους πορεία. Αποτέλεσμα αυτών των συναλλαγών είναι οι τιμές αυτές να αλλάζουν από μέρα σε μέρα. Κάποιοι εκμεταλλεύονται αυτήν την αυξομείωση των τιμών, αγοράζοντας μία ποσότητα (ή δικαίωμα σε ποσότητα) φθηνά, και έπειτα πουλούν την ίδια ποσότητα ή δικαίωμα ακριβότερα. Το κέρδος εκφράζεται από το λόγο της τιμής πώλησης προς την τιμή αγοράς. Έστω ότι γνωρίζουμε την τιμή που έχει κάποιο αγαθό κάθε μέρα για ένα μεγάλο χρονικό διάστημα.  Θέλουμε να υπολογίσουμε το μέγιστο κέρδος που θα μπορούσε κάποιος να αποκομίσει με μία αγορά και στη συνέχεια μία πώληση.

Πρόβλημα:
Να αναπτύξετε ένα πρόγραμμα σε μια από τις γλώσσες του IOI το οποίο να διαβάζει το πλήθος των ημερών για τις οποίες είναι γνωστή η τιμή του αγαθού, την τιμή του αγαθού για κάθε μία από αυτές τις ημέρες, και να υπολογίζει το μέγιστο δυνατό κέρδος από μία αγορά και στη συνέχεια μία πώληση.


Τι λέτε? θα μπορούσε να μπει άσκηση στο μάθημά μας?
Προσωπικά μου φαίνεται πολύ καλό


καλη ασκηση .παρακατω η λυση ΧΩΡΙΣ πινακα
« Τελευταία τροποποίηση: 30 Μάι 2018, 01:41:44 πμ από Κωστας τζιαννης »

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 539
  • There can be only one...may it be AEPP.
Απ: Δύσκολες Ασκήσεις στις Δομές Επανάληψης
« Απάντηση #82 στις: 05 Οκτ 2018, 01:57:08 πμ »
Έναν αριθμό μπορούμε να τον σπάσουμε σε γινόμενο πρώτων παραγόντων (χωρίς αναδρομή;)
Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2448
  • I 'm not young enough to know everything
Απ: Δύσκολες Ασκήσεις στις Δομές Επανάληψης
« Απάντηση #83 στις: 05 Οκτ 2018, 10:06:30 πμ »
Ναι. Είναι και άσκηση στο τετράδιο μαθητή

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 539
  • There can be only one...may it be AEPP.
Απ: Δύσκολες Ασκήσεις στις Δομές Επανάληψης
« Απάντηση #84 στις: 05 Οκτ 2018, 10:09:26 πμ »
Ναι. Είναι και άσκηση στο τετράδιο μαθητή
και έπειτα να τον γράψουμε σε παραγοντοποιημενη μορφή ; Ανεξάρτητου πλήθους παραγόντων;
Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2448
  • I 'm not young enough to know everything
Απ: Δύσκολες Ασκήσεις στις Δομές Επανάληψης
« Απάντηση #85 στις: 05 Οκτ 2018, 10:42:57 πμ »
Ε ναι, αφού κάνεις το ένα κάνεις και το άλλο. Το βασικό σημείο είναι ότι δεν ψάχνεις τους πρώτους για να κάνεις διαιρέσεις. Κάνεις διαιρέσεις με όλους τους ακεραίου διαδοχικά. Αλλά οι σύνθετοι δε θα πετύχουν τέλεια διαίρεση γιατί ότι πρώτο παράγοντα περιέχουν έχει ήδη απορροφήσει όλες τις διαιρέσεις που θα μπορούσε να κάνει ο σύνθετος. 

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 539
  • There can be only one...may it be AEPP.
Απ: Δύσκολες Ασκήσεις στις Δομές Επανάληψης
« Απάντηση #86 στις: 05 Οκτ 2018, 10:44:45 πμ »
Ε ναι, αφού κάνεις το ένα κάνεις και το άλλο. Το βασικό σημείο είναι ότι δεν ψάχνεις τους πρώτους για να κάνεις διαιρέσεις. Κάνεις διαιρέσεις με όλους τους ακεραίου διαδοχικά. Αλλά οι σύνθετοι δε θα πετύχουν τέλεια διαίρεση γιατί ότι πρώτο παράγοντα περιέχουν έχει ήδη απορροφήσει όλες τις διαιρέσεις που θα μπορούσε να κάνει ο σύνθετος. 
Θα το προσπαθήσω.
Σας ευχαριστώ .
Απ' τα τσακάλια δεν γλυτώνεις μ'ευχές ή παρακάλια
(Κ. Βάρναλης)

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

Κανένας

  • Βετεράνος
  • ****
  • Μηνύματα: 51
Απ: Δύσκολες Ασκήσεις στις Δομές Επανάληψης
« Απάντηση #87 στις: 06 Οκτ 2018, 03:41:58 μμ »
Μια εκδοχή σε Γλωσσομάθεια:

ΠΡΟΓΡΑΜΜΑ Ανάλυση_σε_γινόμενο_πρώτων_παραγόντων
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: n,i,m
ΑΡΧΗ
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
   ΓΡΑΨΕ 'Δώσε φυσικό αριθμό'
   ΔΙΑΒΑΣΕ n
  ΜΕΧΡΙΣ_ΟΤΟΥ n>0 KAI A_Μ(n)=n
  ΓΡΑΨΕ_ n,'=',1
  i <-- 1
  ΟΣΟ n<>1 ΕΠΑΝΑΛΑΒΕ
    i <-- i+1
    m <-- 0
    ΟΣΟ n mod i=0 ΕΠΑΝΑΛΑΒΕ
      m <-- m+1
      n <-- n div i
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΝ m>0  ΤΟΤΕ
      ΓΡΑΨΕ_ 'x',i,'^',m
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
« Τελευταία τροποποίηση: 06 Οκτ 2018, 04:05:22 μμ από Κανένας »
ΝΙΚΗΦΟΡΟΣ ΜΑΝΔΗΛΑΡΑΣ
ΓΕΛ ΝΑΞΟΥ