Να βρεθεί αριθμός.
Συντονιστές: cretanman, silouan, rek2
Να βρεθεί αριθμός.
Να βρεθεί θετικός αριθμός που όταν το πρώτο και το τελευταίο ψηφίο του αλλάξουν θέση, ο αριθμός διπλασιάζεται.
Δηλαδή αν έχουμε τον αριθμό AbcdE o ζητούμενος πρέπει να είναι της μορφής EbcdA
Δηλαδή αν έχουμε τον αριθμό AbcdE o ζητούμενος πρέπει να είναι της μορφής EbcdA
τελευταία επεξεργασία από Soniram89 σε Παρ Σεπ 07, 2018 11:49 am, έχει επεξεργασθεί 1 φορά συνολικά.
Λέξεις Κλειδιά:
- Demetres
- Γενικός Συντονιστής
- Δημοσιεύσεις: 8989
- Εγγραφή: Δευ Ιαν 19, 2009 5:16 pm
- Τοποθεσία: Λεμεσός/Πύλα
- Επικοινωνία:
Re: Να βρεθεί αριθμός.
Όχι δεν είναι στην σωστή ενότητα. Είναι καλύτερο για μαθηματικά διαγωνισμών.
Επίσης υπάρχει ένα θέμα με την εκφώνηση και την εξήγηση. Όπως είναι η εκφώνηση, ο θα έπρεπε να γίνει . Για να γίνει η εκφώνηση θα έπρεπε να λέει «...αν το πρώτο και το τελευταίο ψηφίο του αλλάξουν θέση...»
Εγώ έλυσα αυτό που έλεγε η εκφώνηση διότι είδα αργότερα το παράδειγμα. Ένας τέτοιος αριθμός (δεν λέω ακόμη πως τον βρήκα) είναι ο
Επίσης υπάρχει ένα θέμα με την εκφώνηση και την εξήγηση. Όπως είναι η εκφώνηση, ο θα έπρεπε να γίνει . Για να γίνει η εκφώνηση θα έπρεπε να λέει «...αν το πρώτο και το τελευταίο ψηφίο του αλλάξουν θέση...»
Εγώ έλυσα αυτό που έλεγε η εκφώνηση διότι είδα αργότερα το παράδειγμα. Ένας τέτοιος αριθμός (δεν λέω ακόμη πως τον βρήκα) είναι ο
-
- Δημοσιεύσεις: 101
- Εγγραφή: Κυρ Μάιος 02, 2010 9:05 pm
- Τοποθεσία: Γερμανία
-
- Δημοσιεύσεις: 101
- Εγγραφή: Κυρ Μάιος 02, 2010 9:05 pm
- Τοποθεσία: Γερμανία
Re: Να βρεθεί αριθμός.
Έφτιαξα την εξής συνάρτηση matlab:
Μεχρι στιγμής έχω εξετάσει τους αριθμούς από 1 έως 200.000 και έχω εξετάσει αν , όπου z είναι φυσικός από 2 έως 20.
Αποτέλεσμα; Κανένας αριθμός μέχρι στιγμής. Μέσα στις επόμενες ώρες θα έχω εξετάσει μέχρι το 10.000.000
O αλγόριθμός μου είναι , αλλά πιστεύω υπάρχει αλγόριθμος ή
n είναι ο αριθμός που θέλω να ξεκινήσω να ψάχνω, m είναι ο τελευταίος αριθμός που θέλω να ψάξω και z είναι ο παράγοντας, στην περίπτωσή μας 2.function[] = mathematicagr1 (n,m,z)
counter1 = 0;
for i=n:1:m
j=str2double(regexp(num2str(i),'\d','match'));
a = j(1);
j(1) = j(end);
j(end) = a;
b = 0;
c = size(j);
for x= 1:c(2)
b = b + j(x) * (10^(c(2)-x));
end
if b == z*i
counter1 = counter1+1;
fma(counter1,1) = i;
fma(counter1,2) = b;
end
if counter1 > 0
fma
end
end
Μεχρι στιγμής έχω εξετάσει τους αριθμούς από 1 έως 200.000 και έχω εξετάσει αν , όπου z είναι φυσικός από 2 έως 20.
Αποτέλεσμα; Κανένας αριθμός μέχρι στιγμής. Μέσα στις επόμενες ώρες θα έχω εξετάσει μέχρι το 10.000.000
O αλγόριθμός μου είναι , αλλά πιστεύω υπάρχει αλγόριθμος ή
τελευταία επεξεργασία από Energy Engineer σε Παρ Σεπ 07, 2018 1:11 pm, έχει επεξεργασθεί 2 φορές συνολικά.
Re: Να βρεθεί αριθμός.
Νομίζω θα έπρεπε να ήταν eabcd=z*dabceEnergy Engineer έγραψε: ↑Παρ Σεπ 07, 2018 1:02 pm
Μεχρι στιγμής έχω εξετάσει τους αριθμούς από 1 έως 200.000 και έχω εξετάσει αν , όπου z είναι φυσικός από 2 έως 20.
-
- Δημοσιεύσεις: 101
- Εγγραφή: Κυρ Μάιος 02, 2010 9:05 pm
- Τοποθεσία: Γερμανία
Re: Να βρεθεί αριθμός.
Έχουμε τον αριθμό και αφού αλλάξουμε τα ψηφία, γίνεται
Τι πρέπει να ισχύει;
ή
Δεδομένου ότι το πλήθος των ψηφίων δεν αλλάζει περιόρισα τους παράγοντες από 2 έως 9.
Τι πρέπει να ισχύει;
ή
Δεδομένου ότι το πλήθος των ψηφίων δεν αλλάζει περιόρισα τους παράγοντες από 2 έως 9.
Re: Να βρεθεί αριθμός.
Αφήστε το παιδιά, δυστυχώς το πρόβλημα μου μεταφέρθηκε κακώς διατυπωμένο, η σωστή απάντηση είναι αυτή του Demetres.Energy Engineer έγραψε: ↑Παρ Σεπ 07, 2018 1:16 pmΈχουμε τον αριθμό και αφού αλλάξουμε τα ψηφία, γίνεται
Τι πρέπει να ισχύει;
ή
Δεδομένου ότι το πλήθος των ψηφίων δεν αλλάζει περιόρισα τους παράγοντες από 2 έως 9.
Τελική διατύπωση:Να βρειθει θετικός αριθμός που όταν το τελευταίο του ψηφίο γίνει πρώτο, τότε διπλασιάζεται!!!Δηλαδή αν έχουμε αριθμό abcde γίνεται eabcd
-
- Δημοσιεύσεις: 101
- Εγγραφή: Κυρ Μάιος 02, 2010 9:05 pm
- Τοποθεσία: Γερμανία
Re: Να βρεθεί αριθμός.
Οκ, αυτό που λες στα αγγλικά λέγεται shift circularly.
https://www.mathworks.com/help/matlab/r ... shift.html
Εδώ είναι το βελτιωμένο Matlab. Του έβαλα μια συνθήκη ώστε να μην χάνει χρόνο. Ας πούμε για το 8 εξετάζει μέχρι το 124, δηλαδή εξετάζει αν ισχύει 412 = 8 * 124. Το 125, λόγω του ότι τα ψηφία του 8 * 125 γίνονται 4 δεν το εξετάζει και σταματάει εκεί για το 8.
https://www.mathworks.com/help/matlab/r ... shift.html
Εδώ είναι το βελτιωμένο Matlab. Του έβαλα μια συνθήκη ώστε να μην χάνει χρόνο. Ας πούμε για το 8 εξετάζει μέχρι το 124, δηλαδή εξετάζει αν ισχύει 412 = 8 * 124. Το 125, λόγω του ότι τα ψηφία του 8 * 125 γίνονται 4 δεν το εξετάζει και σταματάει εκεί για το 8.
τελευταία επεξεργασία από Energy Engineer σε Παρ Σεπ 07, 2018 3:38 pm, έχει επεξεργασθεί 1 φορά συνολικά.
-
- Δημοσιεύσεις: 101
- Εγγραφή: Κυρ Μάιος 02, 2010 9:05 pm
- Τοποθεσία: Γερμανία
Re: Να βρεθεί αριθμός.
Αυτός είναι ο βελτιστοποιημένος μέχρι στιγμής κώδικας:
Ετρεξα την παρακάτω εντολή, για να ελέγξει μεταξύ 100.000 και 1.000.000:
Τα αποτελέσματα:
102564 410256 4
128205 512820 4
153846 615384 4
179487 717948 4
205128 820512 4
230769 923076 4
142857 714285 5
Στην πρώτη στήλη είναι ο αριθμός, στην δεύτερη στήλη είναι η αλλαγή που έγινε μετά από shift circularly και η τελευταία στήλη είναι ο παράγοντας.
Θα το βάλω τώρα να τρέξει 1.000.000 - 10.000.000, μήπως εντοπίσει κάποιον του 2.
ΥΓ: Σαν εταιρεία έχουμε νοικιάσει έναν υπερυπολογιστή σέρβερ στην Αμαζον, αλλά δεν μπορώ να τον χρησιμοποιήσω, γιατί εκπαιδεύουμε ένα νευρωνικό δίκτυο αυτήν την εποχή.
Ετρεξα την παρακάτω εντολή, για να ελέγξει μεταξύ 100.000 και 1.000.000:
Τα αποτελέσματα:
102564 410256 4
128205 512820 4
153846 615384 4
179487 717948 4
205128 820512 4
230769 923076 4
142857 714285 5
Στην πρώτη στήλη είναι ο αριθμός, στην δεύτερη στήλη είναι η αλλαγή που έγινε μετά από shift circularly και η τελευταία στήλη είναι ο παράγοντας.
Θα το βάλω τώρα να τρέξει 1.000.000 - 10.000.000, μήπως εντοπίσει κάποιον του 2.
ΥΓ: Σαν εταιρεία έχουμε νοικιάσει έναν υπερυπολογιστή σέρβερ στην Αμαζον, αλλά δεν μπορώ να τον χρησιμοποιήσω, γιατί εκπαιδεύουμε ένα νευρωνικό δίκτυο αυτήν την εποχή.
Re: Να βρεθεί αριθμός.
Αλγεβρική λύση:
, οπότε η εξίσωση γράφεται
πρέπει το να ειναι πολλαπλάσιο του
Έχουμε οτι και άρα από (1),(2) άρα με φυσικός. Για να βρούμε τους αριθμούς επιλέγουμε το και το .
Re: Να βρεθεί αριθμός.
προσπαθώ να καταλάβω τη λύση!!! Ευχαριστώ..
- Demetres
- Γενικός Συντονιστής
- Δημοσιεύσεις: 8989
- Εγγραφή: Δευ Ιαν 19, 2009 5:16 pm
- Τοποθεσία: Λεμεσός/Πύλα
- Επικοινωνία:
Re: Να βρεθεί αριθμός.
Για την κατανόηση της λύσης χρειάζεται βεβαίως γνώση αριθμητικής modulo και του τελευταίου θεωρήματος του Fermat. Παρόμοια ήταν και η δική μου λύση. Χρειάζεται όμως λίγη επιπλέον προσοχή. Π.χ. για και προκύπτει το οποίο πρέπει να απορριφθεί.
Έχω ακόμη μία λύση η οποία είναι αρκετά απλούστερη. Π.χ. θέλω το τελευταίο ψηφίο του αριθμού να είναι το . Όταν τον διπλασιάσω, το τελευταίο ψηφίο θα είναι . Αυτό σημαίνει ότι ο θα λήγει σε . Τότε ο λήγει σε οπότε ο λήγει σε . Συνεχίζουμε με παρόμοιο τρόπο μέχρι να βρούμε κάποιο ψηφίο που να είναι οπότε και μπορούμε να σταματήσουμε, αρκεί βέβαια να μην πρέπει να υπάρχει και άλλο ψηφίο μπροστά του. Δοκιμάστε το για να βρείτε ποιος αριθμός θα προκύψει.
Έχω ακόμη μία λύση η οποία είναι αρκετά απλούστερη. Π.χ. θέλω το τελευταίο ψηφίο του αριθμού να είναι το . Όταν τον διπλασιάσω, το τελευταίο ψηφίο θα είναι . Αυτό σημαίνει ότι ο θα λήγει σε . Τότε ο λήγει σε οπότε ο λήγει σε . Συνεχίζουμε με παρόμοιο τρόπο μέχρι να βρούμε κάποιο ψηφίο που να είναι οπότε και μπορούμε να σταματήσουμε, αρκεί βέβαια να μην πρέπει να υπάρχει και άλλο ψηφίο μπροστά του. Δοκιμάστε το για να βρείτε ποιος αριθμός θα προκύψει.
-
- Επιμελητής
- Δημοσιεύσεις: 15741
- Εγγραφή: Κυρ Δεκ 21, 2008 2:04 am
Re: Να βρεθεί αριθμός.
Έχει αλλάξει τόσες φορές η εκφώνηση που έχω μπερδευτεί ποια ακριβώς είναι η ερώτηση. Αν είναι "Να βρεθεί θετικός αριθμός που όταν το τελευταίο του ψηφίο γίνει πρώτο, τότε διπλασιάζεται", τότε οι ζητούμενοι αριθμοί είναι οι
Γιατί;
Είναι ουσιαστικά γραμμένο από τους Δημήτρη και sokpanvas. Ειδικά, η περίπτωση δίνει τον παραπάνω (είναι ο μικρότερος).
Μέλη σε σύνδεση
Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης