• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 09:22:59 am

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 17, 2025, 09:22:59 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
by okan
[Today at 02:33:21]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 02:29:21]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 16, 2025, 12:01:53 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]
Στατιστικά
Members
Total Members: 9960
Latest: valco08
Stats
Total Posts: 1426680
Total Topics: 31710
Online Today: 169
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 13
Guests: 105
Total: 118
acolak
Sotirisbikos
grepanis
tsaliki
hacky
tzortzis
Geoth
Saint_GR
rafail zisiadis
noys
Giannis_Kako
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
  Όταν ανεβάζουμε φωτογραφίες στις Ανακοινώσεις και Έκτακτα νέα, βάζουμε τη μεγαλύτερη πλευρά 400 (width=400 ή height=400 ). π.χ. [img height=400 (κλείνει η αγκύλη) 
THMMY.gr > Forum > Χαλαρή συζήτηση - κουβεντούλα > Διάφορα > Η γωνιά του παιδιού > Quiz (Moderators: Don, Nikos_313, chatzikys, Tasos Bot) > Copy-Paste....Γρίφος
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 Go Down Print
Author Topic: Copy-Paste....Γρίφος  (Read 3910 times)
fugiFOX
Veteran
Καταστραμμένος
******
Posts: 8962


Fugi+Fox μια νέα μορφή ζωής...


View Profile
Copy-Paste....Γρίφος
« on: August 19, 2005, 18:23:15 pm »

Το πρόβλημα είναι απλό, αλλά σίγουρα θα έχει απασχολήσει τους χρήστες Η/Υ τουλάχιστον 1 φορα:

Θα το διατυπώσω στην πιο απλή μορφή του.
Θέλω να γεμίσω ένα κείμενο με έναν χαρακτήρα. Π.χ. κατι σαν αυτό:

ggggggggggggggggggggggggg
ggggggggggggggggggggggggg
ggggggggggggggggggggggggg
κτλ κτλ.

Ο απλός (μη βέλτιστος) τρόπος είναι να κρατώ συνεχώς πατημένο το αντίστοιχο πλήκτρο. Αυτό ισχύει για έναν μικρό αριθμό χαρακτήρων.
ΑΝ θέλω όμως έναν μεγάλο αριθμό Ν, έστω Ν=10^6, τότε συμφέρει να αρχίσω το copy-paste.
Δηλαδή έχοντας συμπληρώσει έναν αριθμό m1  χαρακτήρων ξεκινώ και κάνω copy-paste αυτούς.
Κατόπιν  έχοντας συμπληρώσει έναν αριθμό m2 χαρακτήρων m2>>m1 (?) ξεκινώ και κάνω copy-paste αυτούς.
κτλ κτλ.

Όλοι θα έχουμε δοκιμάσει να βρούμε τους βέλτιστους αριθμούς m1,m2,m3 διαισθητικά.
έχει σκεφτεί κανείς να βρει την ακριβή λύση του προβλήματος μαθηματικά;
Καμιά ιδέα;

Θεωρούμε το "κόστος" του copy-paste =2 χαρακτήρες ή και 3 αν προτιμάτε.
Η λύση του προβλήματος έχει ενδιαφέρον και μπορεί εύκολα να επεκταθεί και για κάποια φράση,pattern σε σχεδιαστικό πρόγραμμα και πολλές ακόμη εφαρμογές.
« Last Edit: August 20, 2005, 00:57:17 am by fugitive » Logged

http://www.mozilla.org/en-US/firefox/new/
~Michelle~
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1236


View Profile WWW
Απ: Copy-Paste....Γρίφος
« Reply #1 on: August 20, 2005, 01:26:44 am »

Πάρα πολύ ενδιαφέρον! Αν βρω λίγο χρόνο θα προσπαθήσω να το λύσω!
Logged

www.e-steki.gr
Junior
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1349


View Profile
Re: Copy-Paste....Γρίφος
« Reply #2 on: August 20, 2005, 02:11:14 am »

Μια διευκρίνηση... επιτρέπεται να ξεπεράσουμε τον αριθμό Ν ή να κάνουμε copy ένα τμήμα του κειμένου ώστε να φτάσουμε ακριβώς το Ν;

Αν επιτρέπεται να ξεπεράσουμε το Ν νομίζω βρήκα τη λύση (για κόστος 2 των copy-paste), αλλά είναι πολύπλοκη και έχει διάφορες περιπτώσεις. Αν μιλούσαμε για κάποια φράση ή κάποιο pattern το οποίο θέλουμε να αναπαράγουμε τότε είναι απλούστερο. Όμως με τους απλούς χαρακτήρες μπλέκεται και το πόσους χαρακτήρες θα πληκτρολογήσεις στην αρχή χωρίς copy-paste, που "κοστίζουν" το 1/2 ή το 1/3 από το κάθε copy ή paste.
Θέλω αρκετή ώρα να διατυπώσω τη λύση, μάλλον θα κάτσω αύριο. Να τη στείλω σε κάποιο mail σου fugitive για να μην τη δημοσιεύσω εδώ;

Αλέξης Γελαστόπουλος, υποψήφιος συμφοιτητής σας Wink
Logged
cmichaelides
Guest
Re: Copy-Paste....Γρίφος
« Reply #3 on: August 20, 2005, 08:17:32 am »

Ωραίο το πρόβλημά σου fugitive, προτείνω όμως αντί μαθηματικής λύσης λαμβάνοντας υπόψιν το κόστος που ανέφερες, να ψάξουμε για την καλύτερη δυνατή προγραμματιστική λύση με κριτήριο το χρόνο εκτέλεσης του προγράμματος.

ΥΓ: Χαιρετίσματα στον υποψήφιο συμφοιτητή
Logged
Καλλισθένης
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2479

I'm not insane! My mother had me tested


View Profile WWW
Απ: Copy-Paste....Γρίφος
« Reply #4 on: August 20, 2005, 11:05:25 am »

Ψάξε μήπως βγάλεις άκρη με την εντολή του word: =rand(a,b) όπου α ο αριθμός παραγράφων και όπου b ο αριθμός των σειρών ανά παράγραφο.

Τώρα πως θα αλλάξει το κείμενο της παρουσίασης των γραμματοσειρών σε κάτι άλλο ... είναι ένας "γρίφος"

Εξάλλου θέλει αρετή και τόλμη η Ελευθερία!!!

Αποποίηση ευθύνης:
δεν είμαι υπεύθυνος αν κάποιος γράψει =rand(200,99) ή περισσότερο και κολήσει το pc του...  Cheesy
Logged

Σούλααααα!!! Τα λέμε!!!
fugiFOX
Veteran
Καταστραμμένος
******
Posts: 8962


Fugi+Fox μια νέα μορφή ζωής...


View Profile
Απ: Copy-Paste....Γρίφος
« Reply #5 on: August 20, 2005, 12:03:43 pm »

Quote from: Junior on August 20, 2005, 02:11:14 am
Μια διευκρίνηση... επιτρέπεται να ξεπεράσουμε τον αριθμό Ν ή να κάνουμε copy ένα τμήμα του κειμένου ώστε να φτάσουμε ακριβώς το Ν;


Ναι μπορείς να το ξεπεράσεις. Μετά θα χρειαστείς απλώς 1-2 εντολές Delete.

Quote
Αλέξης Γελαστόπουλος, υποψήφιος συμφοιτητής σας Wink
Καλως ήρθες στην κοινότητα του ΤΗΜΜΥ.gr

ΥΓ: Πώς μας ανακάλυψες;
Logged

http://www.mozilla.org/en-US/firefox/new/
Junior
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1349


View Profile
Re: Απ: Copy-Paste....Γρίφος
« Reply #6 on: August 20, 2005, 18:47:45 pm »

Έστειλα τη λύση στο email σου fugitive

Quote from: fugitive on August 20, 2005, 12:03:43 pm

Καλως ήρθες στην κοινότητα του ΤΗΜΜΥ.gr

ΥΓ: Πώς μας ανακάλυψες;

Έψαχνα πληροφορίες για τη σχολή, πριν και μετά το μηχανογραφικό. Δε θυμάμαι που βρήκα το link, αλλά αμέσως έκανα bookmark τη σελίδα.
Logged
Καλλισθένης
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2479

I'm not insane! My mother had me tested


View Profile WWW
Απ: Copy-Paste....Γρίφος
« Reply #7 on: August 21, 2005, 00:24:37 am »

Quote from: Junior on August 20, 2005, 18:47:45 pm
Έστειλα τη λύση στο email σου fugitive

Εμείς δεν θα μάθουμε?  Tongue

Κ.Ι.Σ.
Logged

Σούλααααα!!! Τα λέμε!!!
~Michelle~
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1236


View Profile WWW
Απ: Copy-Paste....Γρίφος
« Reply #8 on: August 21, 2005, 00:26:58 am »

Kallis καλύτερα τώρα?
Tongue Tongue Tongue
Logged

www.e-steki.gr
Καλλισθένης
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 2479

I'm not insane! My mother had me tested


View Profile WWW
Απ: Copy-Paste....Γρίφος
« Reply #9 on: August 21, 2005, 00:35:50 am »

Ευτυχώς που υπάρχει και η νοικοκυρά μας (ή μήπως e-κοκυρά) εδώ πέρα και τακτοποιεί αμέσως τις συζητήσεις "εντός θέματος"...  Cheesy Cheesy Cheesy    Tongue

Κ.Ι.Σ.
Logged

Σούλααααα!!! Τα λέμε!!!
fugiFOX
Veteran
Καταστραμμένος
******
Posts: 8962


Fugi+Fox μια νέα μορφή ζωής...


View Profile
Απ: Copy-Paste....Γρίφος
« Reply #10 on: August 21, 2005, 12:07:40 pm »

Επειδή το ζήτησε ο Καλ.
και για να μη χαρακτηριστώ "μοναχοφάης" κάνω....
copy-paste απο το μαιλ μου

Γεια χαρά,
Ορίστε η λύση του γρίφου. Εϊναι λίγο δύσκολο να την παρακολουθήσεις, δεν
μπορούσα να τα γράψω πιο απλά... Ελπίζω να τα καταφέρεις!

Έστω ότι αρχικά γράφουμε ακριβώς α χαρακτήρες χωρίς copy-paste. Το κόστος
μέχρι εδώ είναι α χαρακτήρες.
Κάθε φορά για να διπλασιάσουμε το κείμενο που έχουμε γράψει πρέπει να
κάνουμε μία φορά copy και μία φορά paste. Αυτό θα μας κοστίσει συνολικά 4
χαρακτήρες. Αν θέλαμε να τριπλασιάσουμε το κείμενο θα κάναμε μία φορά copy
και 2 φορές paste, που θα κόστιζε 6 χαρακτήρες. Γενικά για να
πολλαπλασιάσουμε το κείμενο που έχουμε γράψει με τον αριθμό n, μας κοστίζει
2n χαρακτήρες: 2 για το copy και 2n-2 για τα paste. Θα αποδείξουμε ότι το
μόνο που συμφέρει να κάνουμε είναι να διπλασιάζουμε ή να τριπλασιάζουμε
(κατά περίσταση) το κείμενό μας.
Πράγματι, για να τετραπλασιάσουμε το κείμενο απαιτούνται 8 χαρακτήρες. Αλλά
με το ίδιο κόστος μπορούμε να το διπλασιάσουμε δύο φορές και έτσι να έχουμε
το ίδιο αποτέλεσμα. ʼρα δε θα χρειαστεί ποτέ να τετραπλασιάσουμε. Για να
πενταπλασιάσουμε κοστίζει 10 χαρακτήρες, αλλά με τους ίδιους χαρακτήρες
μπορούμε να διπλασιάσουμε και να τριπλασιάσουμε οπότε έχουμε 6 φορές το
κείμενο. ʼρα δε συμφέρει να πενταπλασιάσουμε. Κάθε αριθμός μεγαλύτερος του 5
γράφεται στη μορφή 3κ, 3κ+1 ή 3κ+2, με κ μεγαλύτερο ή ίσο του 2. Για να
πολλαπλασιάσουμε το κείμενό μας με τον αριθμό 3κ ή 3κ+1 ή 3κ+2 μας κοστίζει
2*(3κ) ή 2*(3κ+1) ή 2*(3κ+2) χαρακτήρες. Όμως, με 2*3 χαρακτήρες μπορούμε να
τριπλασιάσουμε το κείμενο και αν επαναλάβουμε κ φορές θα έχουμε 3^κ φορές το
κείμενο με κόστος 2*3*κ χαρακτήρες. Με μαθηματική επαγωγή εύκολα
αποδεικνύεται ότι για κ μεγαλύτερο ή ίσο του 2 ισχύει 3^κ > 3κ+2 > 3κ+1 >
3κ. ʼρα με ίδιο ή μικρότερο κόστος μπορούμε να έχουμε περισσότερες φορές το
κείμενο τριπλασιάζοντας διαδοχικά αντί να πολλαπλασιάσουμε με 3κ ή 3κ+1 ή
3κ+2, κ μεγαλύτερο ή ίσο του 2.
ʼρα δε συμφέρει να τετραπλασιάσουμε, να πενταπλασιάσουμε, να εξαπλασιάσουμε
κλπ το κείμενο. Αυτό πρακτικά σημαίνει ότι μεταξύ δύο copy θα κάνουμε μόνο
ένα ή δύο paste.
Έστω ότι τους αρχικούς α χαρακτήρες τους διπλασιάσαμε λ φορές και τους
τριπλασιάσαμε μ φορές. Το συνολικό κόστος σε χαρακτήρες είναι α + 4*λ + 6*μ
και τελικά έχουμε α*2^λ*3^μ χαρακτήρες. Θα προσπαθήσουμε να βρούμε το
ελάχιστο κόστος που μπορεί να δώσει Ν ή περισσότερους χαρακτήρες, δηλαδή τα
α, λ, μ για τα οποία α*2^λ*3^μ μεγαλύτερο ή ίσο του Ν και α + 4*λ + 6*μ
ελάχιστο. Για να το βρούμε αυτό θα βρούμε πρώτα το μέγιστο α*2^λ*3^μ που
μπορεί να δώσει κάθε σταθερό άθροισμα α + 4*λ + 6*μ, και στη συνέχεια από τα
μέγιστα που ξεπερνάν το Ν θα πάρουμε αυτό που έχει το ελάχιστο άθροισμα α +
4*λ + 6*μ.

Έστω ότι για κάποια α, λ, μ έχουμε κόστος α + 4*λ + 6*μ. Θα προσπαθήσουμε να
βρούμε άλλους α, λ, μ ώστε το κόστος να είναι ίδιο και οι χαρακτήρες που
γράφουμε περισσότεροι.
Αν λ > 2, τότε ελαττώνοντας το λ κατά 3 και αυξάνοντας το μ κατά 2, το
κόστος παραμένει το ίδιο, αφού α + 4*(λ-3) + 6*(μ+2) = α + 4*λ � 12 + 6*μ +
12 = α + 4*λ + 6*μ, ενώ οι χαρακτήρες που παίρνουμε αυξάνονται, αφού
α*2^(λ-3)*3^(μ+2) = α*2^λ*3^μ*9/8. ʼρα, κάθε φορά που λ > 2 μπορούμε να
ελαττώσουμε το λ κατά 3 και να αυξήσουμε το μ κατά 2 και να έχουμε
περισσότερους χαρακτήρες με το ίδιο κόστος. Επομένως για κάθε κόστος ο
μέγιστος αριθμός χαρακτήρων που μπορούμε να γράψουμε είναι για λ=0 ή λ=1 ή
λ=2.

Τώρα θα προσπαθήσουμε να περιορίσουμε τις τιμές του α.
Θα πάρουμε αρχικά την περίπτωση που μ > 0. Αν ελαττώσουμε το μ κατά 1, για
να διατηρηθεί το άθροισμα α + 4*λ + 6*μ πρέπει το α να αυξηθεί κατά 6. Όμως
επειδή με τη μείωση του μ, το α*2^λ*3^μ διαιρείται με το 3, για να μας
συμφέρει η ελάττωση του γ και η αύξηση του α θα πρέπει η αύξηση του α να
συνεπάγεται πολλαπλασιασμό του α*2^λ*3^μ με αριθμό μεγαλύτερο του 3, δηλαδή
(α+6) > 3α ή α < 3. Έτσι, αν α < 3 αυξάνουμε το α κατά 6 και ελαττώνουμε το
μ κατά 1. Βλέπουμε ότι το α δε χρειάζεται να αυξηθεί αν είναι μεγαλύτερο ή
ίσο του 3. Την περίπτωση που α < 3 και μ = 0 θα την εξετάσουμε ξεχωριστά στο
τέλος.
Εδώ μπορούμε να θεωρήσουμε το α μεγαλύτερο ή ίσο του 3 (αφού αν α < 3 το
αυξάνουμε κατά 6 και ελαττώνουμε το μ κατά 1)

Θα δοκιμάσουμε τώρα πότε μας συμφέρει να αυξήσουμε το μ κατά 1 και να
ελαττώσουμε το α κατά 6, ώστε το α + 4*λ + 6*μ να διατηρηθεί σταθερό. Η
αύξηση του μ συνεπάγεται πολλαπλασιασμό του α*2^λ*3^μ με το 3. ʼρα αυτή η
κίνηση μας συμφέρει αν α-6>α/3 δηλαδή α>9, ενώ είναι ουδέτερη αν α=9, οπότε
γίνεται α=3. Αφού η κίνηση μας συμφέρει (ή είναι ουδέτερη) για α >= 9
μπορούμε να θεωρήσουμε α <= 8.
Επομένως α=3 ή α=4 ή α=5 ή α=6 ή α=7 ή α=8.
Στην περίπτωση που α=8, μπορούμε να κάνουμε το α ίσο με 4 και να αυξήσουμε
το β κατά 1, οπότε το άθροισμα α + 4*λ + 6*μ και το γινόμενο α*2^λ*3^μ
παραμένουν σταθερά. Οπότε για κάθε κόστος ο μέγιστος αριθμός χαρακτήρων που
μπορούμε να γράψουμε είναι για α=3 ή α=4 ή α=5 ή α=6 ή α=7.

Έστω τώρα ότι 3^γ<Ν<=3^(γ+1). Για κάθε ζεύγος α, λ υπάρχει μοναδικός αριθμός
μ που εξαρτάται από το γ τέτοιος ώστε 3^γ < α*2^λ*3^μ <= 3^(γ+1). Οι τριάδες
α, λ, μ δίνουν ένα άθροισμα α + 4*λ + 6*μ. Από τις τριάδες που έχουν ίδιο
άθροισμα α + 4*λ + 6*μ θα επιλέξουμε εκείνη με το μεγαλύτερο γινόμενο
α*2^λ*3^μ, για την οποία γνωρίζουμε ότι θα είναι μία από αυτές που 0 <= λ <=
2 και 3 <= α <= 7 και έτσι θα έχουμε βρει το μεγαλύτερο αριθμό χαρακτήρων
(γινόμενο α*2^λ*3^μ) που μπορούμε να γράψουμε για κάθε συγκεκριμένο κόστος,
ξεκινώντας από το κόστος που μόλις μπορεί να ξεπεράσει τους 3^γ χαρακτήρες
και σταματώντας σε αυτό που φτάνει ή ξεπερνάει τους 3^(γ+1) χαρακτήρες.
Έπειτα θα επιλέξουμε το ελάχιστο κόστος που δίνει χαρακτήρες που φτάνουν ή
ξεπερνούν το Ν.
Στον παρακάτω πίνακα για κάθε δυνατό ζεύγος α, λ βρίσκουμε το μ, το κόστος
(α + 4*λ + 6*μ) και τους χαρακτήρες (α*2^λ*3^μ) συναρτήσει του γ.

α   λ   μ      κόστος   χαρακτήρες (*3^(γ-2))
3   0   γ      6γ+3       27   *
3   1   γ-1   6γ+1      18
3   2   γ-2   6γ-1       12
4   0   γ-1   6γ-2       12   *
4   1   γ-1   6γ+2      24   *
4   2   γ-2   6γ          16   *
5   0   γ-1   6γ-1      15    *
5   1   γ-2   6γ-3      10    *
5   2   γ-2   6γ+1      20
6   0   γ-1   6γ          15
6   1   γ-2   6γ-2      12
6   2   γ-2   6γ+2      24
7   0   γ-1   6γ+1      21   *
7   1   γ-2   6γ-1       14
7   2   γ-3   6γ-3      28/3

Οι μόνοι τρόποι για να έχουμε κάποιο κόστος από τα 6γ-2, 6γ-1,�, 6γ+2 με 0
<= λ <= 2 και 3 <= α <= 7 είναι αυτοί που εμφανίζονται στον πίνακα, αφού σε
οποιοδήποτε ζεύγος α, λ αν αυξήσουμε το μ κατά 1 το κόστος γίνεται 6γ+3 ή
παραπάνω, ενώ αν το μειώσουμε κατά 1 το κόστος γίνεται 6γ-3 ή λιγότερο. ʼρα
ο μέγιστος αριθμός χαρακτήρων που μπορούμε να γράψουμε με κάθε κόστος από
6γ-2 έως 6γ+2 είναι ο μεγαλύτερος από αυτούς που εμφανίζονται στον πίνακα
για το συγκεκριμένο
 κόστος.

Για να έχουμε κόστος 6γ-3 με 0 <= λ <= 2 και 3 <= α <= 7 οι μόνοι τρόποι
είναι αυτοί που εμφανίζονται στον πίνακα καθώς και αν α = 3, λ = 0 και μ =
γ-1, που προκύπτει αν στην πρώτη γραμμή του πίνακα ελαττώσουμε το μ κατά 1.
Όμως σε αυτή την περίπτωση οι χαρακτήρες δεν ξεπερνούν το 10*3^(γ-2) που
δίνονται από την 8η γραμμή του πίνακα. ʼρα με κόστος 6γ-3 μπορούμε να έχουμε
μέχρι 10*3^(γ-2) χαρακτήρες.

Έστω ότι υπάρχει κόστος μικρότερο από 6γ-3 τέτοιο ώστε να δίνει
περισσότερους από 3^γ χαρακτήρες. Τότε με το ίδιο κόστος μπορούμε να έχουμε
τους ίδιους ή περισσότερους χαρακτήρες για 0 <= λ <= 2 και 3 <= α <= 7. Αφού
το κόστος είναι μικρότερο από 6γ-3 και τα α, λ είναι ίδια με κάποιο ζεύγος
στον πίνακα, συμπεραίνουμε ότι το μ είναι μικρότερο από το αντίστοιχο στον
πίνακα. Αν αυξήσουμε το μ κατά 1, τότε το μ θα είναι μικρότερο ή ίσο με αυτό
του πίνακα και θα δίνει περισσότερους από 3^(γ+1) χαρακτήρες, δηλαδή με ίδια
α, λ και μικρότερο ή ίσο μ θα έχουμε μεγαλύτερο γινόμενο α*2^λ*3^μ, που
είναι άτοπο.
ʼρα για 3^γ χαρακτήρες το κόστος είναι τουλάχιστον 6γ-3.

3^(γ+1) χαρακτήρες μπορούμε να έχουμε με κόστος 6γ+3 και όχι μικρότερο, όπως
προκύπτει από τον πίνακα.

Οπότε για κάθε κόστος ο μέγιστος αριθμός χαρακτήρων είναι ο εξής (αστερίσκος
στον πίνακα):
<6γ-3:    < 3^γ
6γ-3:      10*3^(γ-2)
6γ-2:      12*3^(γ-2)
6γ-1:      15*3^(γ-2)
6γ:         16*3^(γ-2)
6γ+1:     21*3^(γ-2)
6γ+2:     24*3^(γ-2)
6γ+3:     >= 27*3^(γ-2) = 3^(γ+1)


Επομένως,
αν 3^γ             < Ν <= 10*3^(γ-2)  τότε α=5, λ=1, μ=γ-2
αν 10*3^(γ-2)  < Ν <= 12*3^(γ-2)  τότε α=4, λ=0, μ=γ-1
αν 12*3^(γ-2)  < Ν <= 15*3^(γ-2)  τότε α=5, λ=0, μ=γ-1
αν 15*3^(γ-2)  < Ν <= 16*3^(γ-2)  τότε α=4, λ=2, μ=γ-2
αν 16*3^(γ-2)  < Ν <= 21*3^(γ-2)  τότε α=5, λ=2, μ=γ-2
αν 21*3^(γ-2)  < Ν <= 24*3^(γ-2)  τότε α=4, λ=1, μ=γ-1
αν 24*3^(γ-2)  < Ν <= 3^(γ+1)      τότε α=3, λ=0, μ=γ

Τώρα θα εξετάσουμε την περίπτωση που μ = 0 και α < 3.
Επειδή λ <= 2, α <=2 και μ = 0, ισχύει α*2^λ*3^μ <= 8. Δηλαδή μας ενδιαφέρει
η περίπτωση που Ν <= 8. Αλλά για Ν <= 8 εύκολα βρίσκεται ότι έχουμε το
μικρότερο κόστος όταν δεν κάνουμε κανένα copy-paste, δηλαδή όταν α = Ν.

Τα προηγούμενα επομένως ισχύουν αν Ν > 8.

Βρίσκουμε τα Μ1, Μ2, Μ3 κλπ
Μ1 = α

Αν λ = 0,               Μ2 = 3*Μ1
Αν λ = 1 ή λ = 2,   Μ2 = 2*Μ1

Αν λ = 0 ή λ = 1,    Μ3 = 3*Μ2
Αν λ = 2,                Μ3 = 2*Μ2

Για ν >= 4 Μν = 3*Μ(ν-1)

Σταματάμε στον ελάχιστο αριθμό ν για τον οποίο Μν >= Ν


Αλέξης Γελαστόπουλος
Logged

http://www.mozilla.org/en-US/firefox/new/
fugiFOX
Veteran
Καταστραμμένος
******
Posts: 8962


Fugi+Fox μια νέα μορφή ζωής...


View Profile
Απ: Copy-Paste....Γρίφος
« Reply #11 on: August 21, 2005, 12:11:50 pm »

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

Το μόνο που μου φαίνεται λίγο παράδοξο θα έλεγα είναι το
Quote
Άρα δε συμφέρει να τετραπλασιάσουμε, να πενταπλασιάσουμε, να εξαπλασιάσουμε
κλπ το κείμενο. Αυτό πρακτικά σημαίνει ότι μεταξύ δύο copy θα κάνουμε μόνο
ένα ή δύο paste.
« Last Edit: August 21, 2005, 12:14:10 pm by fugitive » Logged

http://www.mozilla.org/en-US/firefox/new/
cmichaelides
Guest
Re: Copy-Paste....Γρίφος
« Reply #12 on: August 21, 2005, 18:48:39 pm »

Εκφράζοντας τον δεκαδικό αριθμό των ζητούμενων χαρακτήρων στο δυαδικό σύστημα παρατήρησα πως μπορούμε εύκολα να δούμε πόσα copy-paste θα χρειαστούμε για να τον εκφράσουμε ακριβώς εισάγοντας μόνο ένα χαρακτήρα. Έγραψα μια εκδοχή της λύσης αυτού του προβλήματος σε κώδικα και σας το παραθέτω. Αν και δεν έχει πολλή σχέση με το αρχικό πρόβλημα που έθεσε ο fugitive, είναι αρκετά ενδιαφέρον. Είναι λίγο πρόχειρος ο κώδικας, αλλά δίνει μια εικόνα του συλλογισμού χωρίς πολλά λόγια.

Το πρόγραμμα μπορεί να γίνει πιο αποτελεσματικό με διαφορετική δομή και δυναμική δέσμευση μνήμης για να υποστηρίζει μεγαλύτερους αριθμούς. Τώρα που το ξαναβλέπω μου φαίνεται πως θα ήταν πολύ καλύτερα να δουλεύει εντελώς αντίστροφα Tongue . Εν πάσει περιπτώσει, ήταν μια πρώτη σκέψη.
« Last Edit: August 21, 2005, 19:03:42 pm by cmichaelides » Logged
fugiFOX
Veteran
Καταστραμμένος
******
Posts: 8962


Fugi+Fox μια νέα μορφή ζωής...


View Profile
Απ: Copy-Paste....Γρίφος
« Reply #13 on: August 21, 2005, 20:58:11 pm »

Λοιπόν παραθέτω και τη δική μου "λύση" ή καλύτερα προσπάθεια επίλυσης.
Είναι γενική ώστε να μην περιλαμβάνει μόνο χαρακτήρες αλλά και οποιοδήποτε pattern.
Έχουμε λοιπόν:
Αρχικά γράφουμε Κ1 χαρακτήρες (ή patterns στο εξής θα αναφέρονται με την κοινή ονομασία χαρακτήρες).
Κατόπιν κάνουμε αυτούς copy-paste (CP) Κ2 φορές.
Επομένως τώρα έχουμε Κ1*Κ2 χαρακτήρες.
Κάνουμε αυτό το σύνολο τώρα CP Κ3 φορές οπότε και έχουμε τώρα Κ1*Κ2*Κ3 χαρακτήρες.
Κατά τον ίδιο τρόπο συνεχίζουμε φτάνοντας έναν αριθμό Μ>Ν=ζητούμενο,
όπου Μ ο αριθμός χαρακτήρων που για πρώτη φορά θα υπερβεί το Ν.
Επομένως έχουμε Μ=Κ1*Κ2*...*Κν
και ζητούμε τα Ki τέτοια ώστε
P=K1+K2+K3+....+Kn να είναι ελάχιστο.

Εάν θεωρήσουμε αρχικά αμελητέο το κόστος σε εντολές του CP τότε η λύση είναι μάλλον απλή
αφού αυτό το άθροισμα γίνεται ελάχιστο όταν κάθε όρος από αυτούς γίνει ελάχιστος
και μετά από λίγες πράξεις καταλήγουμε ότι K1=K2=...Kn=2.
(το ένα απορρίπτεται αυφού δεν αυξάνει το γινόμενο)
Π.χ. για Ν=100 έχουμε
P=K1+K2+...K7=2*7=14.
ενώ αν K1=K2=10 έχουμε P=20.


Λοιπόν παραθέτω και τη δική μου "λύση" ή καλύτερα προσπάθεια επίλυσης.
Είναι γενική ώστε να μην περιλαμβάνει μόνο χαρακτήρες αλλά και οποιοδήποτε pattern.
Έχουμε λοιπόν:
Αρχικά γράφουμε Κ1 χαρακτήρες (ή patterns, στο εξής θα αναφέρονται με την κοινή ονομασία χαρακτήρες).
Κατόπιν κάνουμε αυτούς copy-paste (CP) Κ2 φορές.
Επομένως τώρα έχουμε Κ1*Κ2 χαρακτήρες.
Κάνουμε αυτό το σύνολο τώρα CP Κ3 φορές οπότε και έχουμε τώρα Κ1*Κ2*Κ3 χαρακτήρες.
Κατά τον ίδιο τρόπο συνεχίζουμε φτάνοντας έναν αριθμό Μ>Ν=ζητούμενο,
όπου Μ ο αριθμός χαρακτήρων που για πρώτη φορά θα υπερβεί το Ν.
Επομένως έχουμε Μ=Κ1*Κ2*...*Κν
και ζητούμε τα Ki τέτοια ώστε
P=K1+K2+K3+....+Kn να είναι ελάχιστο.

το άθροισμα γίνεται ελάχιστο όταν κάθε όρος από αυτούς γίνει ελάχιστος
και μετά από λίγες πράξεις καταλήγουμε ότι K1=K2=...Kn=2.
(το ένα απορρίπτεται αυφού δεν αυξάνει το γινόμενο)

Π.χ. για Ν=100 έχουμε
P=K1+K2+...K7=2*7=14.
ενώ αν K1=K2=10 έχουμε P=20.

Μέχρι τώρα, σιωπηρά υποθέσαμε ότι το κόστος σε εντολές του CP είναι αμελητέρο κάτι όμως που δεν ισχύει στην πραγματικότητα. Αυτό που πραγματικά συμβαίνει, είναι ότι σε κάθε copy θα μπορούσαμε να γράφαμε άλλον έναν χαρακτήρα, ομοίως και σε κάθε paste.
Εδ'ω μπλέκεται λίγο το θέμα.
Νέες ιδέες;
Logged

http://www.mozilla.org/en-US/firefox/new/
Junior
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1349


View Profile
Re: Απ: Copy-Paste....Γρίφος
« Reply #14 on: August 24, 2005, 19:40:44 pm »

Quote from: fugitive on August 21, 2005, 12:11:50 pm

Το μόνο που μου φαίνεται λίγο παράδοξο θα έλεγα είναι το
Quote
Άρα δε συμφέρει να τετραπλασιάσουμε, να πενταπλασιάσουμε, να εξαπλασιάσουμε
κλπ το κείμενο. Αυτό πρακτικά σημαίνει ότι μεταξύ δύο copy θα κάνουμε μόνο
ένα ή δύο paste.

Πιο αναλυτικά θα έγραφα το εξής:

Άρα δε συμφέρει να τετραπλασιάσουμε, να πενταπλασιάσουμε, να εξαπλασιάσουμε
κλπ το κείμενο. Επομένως, το μόνο που θα κάνουμε είναι να διπλασιάζουμε ή να τριπλασιάζουμε το κείμενο που έχουμε κάθε φορά. Αυτό πρακτικά σημαίνει ότι μεταξύ δύο copy θα κάνουμε μόνο
ένα ή δύο paste.

Σημείωση: Για να διπλασιάσουμε το κείμενο κάνουμε copy, μετά μία φορά paste και μετά ξανακάνουμε copy όλο μαζί (εκτός αν έχουμε φτάσει το Ν). Για να τριπλασιάσουμε κάνουμε copy, δύο φορές paste και μετά πάλι copy όλο μαζί. Άρα μεταξύ δύο copy κάνουμε ένα ή δύο paste.

Quote from: fugitive on August 21, 2005, 12:11:50 pm
Αυτό που πραγματικά συμβαίνει, είναι ότι σε κάθε copy θα μπορούσαμε να γράφαμε άλλον έναν χαρακτήρα, ομοίως και σε κάθε paste.

 Huh Ομολογώ πως αυτό δεν το έλαβα υπόψη. Έτσι όμως μπλέκεται πάάάάάρα πολύ το θέμα  Undecided
Logged
Pages: [1] 2 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...