Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Ο μετρητής της ΔΕΗ δείχνει 16061. Ποιοί είναι οι επόμενοι δέκα παλίνδρομοι αριθμοί;

αλινδρομικός αριθμός είναι ένας "συμμετρικός" αριθμός όπως ο 16461, όπου παραμένει ο ίδιος όταν αντιστρέφονται τα ψηφία του.)

  

Επειδή έχω πολλά κενά σε αυτήν την γλώσσσα προγραμματισμού,μήπως υπάρχει κάποιος που μπορεί να την λύσει?

  • Απαντ. 35
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοφιλείς Ημέρες

  • Moderators
Δημοσ.

Άμα τη λύσει κάποιος θα καλυφθούν τα κενά; Το πρόβλημα αυτό δεν είναι θέμα γλώσσας ή αλγορίθμου, είναι καθαρά θέμα λογικής.

  • Like 2
Δημοσ.

μα το θέμα δεν είναι να βρεις εσύ ο ίδιος τους 10 επόμενους αριθμούς ,και να κανεις μία if else , θα μπορούσε να σου ζητάει τους επόμενους 400 αριθμούς ,οπότε λογικά πρέπει να κάνεις μία δομή επανάληψης για να πιάνεις όλες τις περιπτώσεις.Για να είσαι σε θέση όμως να μπορείς να συγκρίνεις τα ψηφία  ενός αριθμού ,τί κάνεις;δηλαδή θέλω τον αριθμό 16061 να τον έχω ως x<--16061 αλλά  και ως a=1 , b=6 , c=0, d=6, e= 1...που και πάλι είναι παράνοια καθώς όσο αυξάνεται ο αριθμός αυξάνονται και τα γράμματα στα οποία αποθηκεύονται να στοιχεία.όλο αυτό φυσικά γίνεται απλά και γρήγορα με έναν τρόπο που απλώς δεν ξέρω.και γενικά δεν ξέρω πως να στήσω αυτό το απλό προγραμματάκι ,γι αυτό έγραψα εδώ.

Δημοσ.

Αν πάρεις έναν οποιοδήποτε αριθμό και καλέσεις την .ToString() πάνω του, θα έχεις στα χέρια σου τον ίδιο αριθμό ως συμβολοσειρά (string, "123456") αντί για νούμερο (123456). Αυτό θα σου επιτρέψει να δεις τα ψηφία ένα-ένα με την ησυχία σου και να κάνεις ο,τι θέλεις να κάνεις.

 

Αλλά νομίζω ότι το σημαντικότερο είναι να μάθεις να σπας το πρόβλημα στο μυαλό σου σε ανεξάρτητα κομμάτια μέχρι να φτάσεις στο σημείο όπου τα κομμάτια είναι αρκετά απλά για να μη σε προβληματίζει η λύση τους. Στην προκειμένη περίπτωση, όπως λες και συ ξεχνάμε τα for και τους επόμενους αριθμούς και όλα αυτά. Αρχίζουμε από τα βασικά:

var x = "16061";
var y = "16062";

bool IsPalindrome(string s)
{
    // ???
}

Πρώτα απ' όλα πρέπει να γράψεις την IsPalindrome έτσι που να επιστρέφει true για το x και false για το y. Πώς; Ένας τρόπος είναι να συγκρίνεις τον πρώτο χαρακτήρα με τον τελευταίο, κλπ. Μπορείς να χρησιμοποιήσεις μια for.

  • Like 3
Δημοσ.

μα το θέμα δεν είναι να βρεις εσύ ο ίδιος τους 10 επόμενους αριθμούς ,και να κανεις μία if else , θα μπορούσε να σου ζητάει τους επόμενους 400 αριθμούς ,οπότε λογικά πρέπει να κάνεις μία δομή επανάληψης για να πιάνεις όλες τις περιπτώσεις.Για να είσαι σε θέση όμως να μπορείς να συγκρίνεις τα ψηφία  ενός αριθμού ,τί κάνεις;δηλαδή θέλω τον αριθμό 16061 να τον έχω ως x<--16061 αλλά  και ως a=1 , b=6 , c=0, d=6, e= 1...που και πάλι είναι παράνοια καθώς όσο αυξάνεται ο αριθμός αυξάνονται και τα γράμματα στα οποία αποθηκεύονται να στοιχεία.όλο αυτό φυσικά γίνεται απλά και γρήγορα με έναν τρόπο που απλώς δεν ξέρω.και γενικά δεν ξέρω πως να στήσω αυτό το απλό προγραμματάκι ,γι αυτό έγραψα εδώ.

Ρε καημένε/καημένη, σου είπα τι να περιμένεις και πως θα το κάνεις, φυσικά θα μπει σε μια επανάληψη, σε δύο πίνακες, έναν κανονικό ένα reverse, κτλ. Με την συνάρτηση του αποπάνω κτλ...

 

Αν περιμένεις να σου λύσουμε όλο το θέμα, σε λάθος φορουμ μπήκες... :-(

Δημοσ.

Λοιπόν, παίρνεις έναν πίνακα Α μεγεθούς 3Χ1 και έχεις το νούμερο π.χ εδώ το 160

Ε λοιπόν σε μια επανάληψη το αυξάνεις κατα ένα (160,161,162...) και σε εναν πίνακα Β 5Χ1 αντιγράφουμε τα στοιχεία του πρώτου και λέμε Β[4]=Α[2] και Β[5]=Α[1]

 

Ε λοιπόν σε κάθε επανάληψη εμφανίζεις τον Β ;)

 

Περιμένω μπισκοτάκι :ph34r:

 

 

 

 

 

 

(Τα πήρα λίγο γιατί νόμιζες ότι δεν κατάλαβα την ερώτηση)

Δημοσ.

Περιμένω μπισκοτάκι :ph34r:

 

(Τα πήρα λίγο γιατί νόμιζες ότι δεν κατάλαβα την ερώτηση)

 

Χαλάρωσε μικρέ.

 

Δε γυρνάει όλο το σύμπαν γύρω απο σένα και από το αν κατάλαβες την ερώτηση. Ούτε και σε είπε κανείς καημένο χωρίς λόγο, παρόλο που εσύ είσαι αυτός που δεν κατάλαβε.

  • Like 1
Δημοσ.

Χαλάρωσε μικρέ.

 

Δε γυρνάει όλο το σύμπαν γύρω απο σένα και από το αν κατάλαβες την ερώτηση. Ούτε και σε είπε κανείς καημένο χωρίς λόγο, παρόλο που εσύ είσαι αυτός που δεν κατάλαβε.

 

Δεν κατάλαβα την ερώτηση, έτσι? Αυτό πιστεύεις?

 

Για να σε ρωτήσω φιλαράκι, σε ποιον έκανες διδακτορικό στην αριθμητική ανάλυση? (n-body simulation κτλ)

 

Α δεν έκανες ε?... :-(

 

 

Εξάλλου δεν με αναγκάζει κανένας να το παίζω λυσάρι σε άτομα με πρώτο ποστ "Λυστε μου την άσκηση" :-(

 

Aμα βρεις πιο γρήγορη μέθοδο για να τυπώσει τους δέκα επόμενους, εμένα θέλει 10 επαναλήψεις, εδώ μέσα το προτείναν με brute force που θέλει χιλιάδες. Αν θες βρε καλύτερη. Που δεν κατάλαβα και την ερώτηση...

 

Την έκρηξη μου την αναγνώρισα και την πήρα πίσω αλλά που εσύ να καταλάβεις. Εξάλλου για να βοηθήσω έγραψα μετά... Αλλά εσύ αρπάζεσαι...

Δημοσ.

Δεν κατάλαβα την ερώτηση, έτσι? Αυτό πιστεύεις?

 

Για να σε ρωτήσω φιλαράκι, σε ποιον έκανες διδακτορικό στην αριθμητική ανάλυση? (n-body simulation κτλ)

 

Α δεν έκανες ε?... :-(

 

 

Εξάλλου δεν με αναγκάζει κανένας να το παίζω λυσάρι σε άτομα με πρώτο ποστ "Λυστε μου την άσκηση" :-(

 

Aμα βρεις πιο γρήγορη μέθοδο για να τυπώσει τους δέκα επόμενους, εμένα θέλει 10 επαναλήψεις, εδώ μέσα το προτείναν με brute force που θέλει χιλιάδες. Αν θες βρε καλύτερη. Που δεν κατάλαβα και την ερώτηση...

 

Την έκρηξη μου την αναγνώρισα και την πήρα πίσω αλλά που εσύ να καταλάβεις. Εξάλλου για να βοηθήσω έγραψα μετά... Αλλά εσύ αρπάζεσαι...

Εσυ εισαι αυτος που αρπαζεται .

Δημοσ.

Αυτό που δεν κατάλαβες δεν είναι βέβαια η ερώτηση (το αρχικό post) αλλά η ένσταση (το δεύτερο post της OP). Θα έπρεπε να είναι προφανές, και βασικά είναι προφανές σε όλους τους υπόλοιπους που διαβάζουν το thread.

 

Κατά τα άλλα εκτίθεσαι, αυτό ελπίζω να το καταλαβαίνεις. Τουλάχιστον κάνε τον κόπο πριν μπεις σε ένα forum guns blazing να διαβάσεις λίγο πρώτα να δεις τι γίνεται. Όχι, δεν περιμέναμε εσένα να μας δείξεις το δρόμο για να μη δίνουμε μασημένη τροφή.

 

ΥΓ: Αν θέλεις μπορείς να ποστάρεις τη λύση σου για να προτείνουμε βελτιώσεις.

Δημοσ.

Οταν με λένε "μικρέ" και "δεν κατάλαβες", με το δίκιο μου :-(

 

Τέλοσπάντων, δεν είναι αυτό το θέμα :)

 

Απαραίτητα χρειάζεται το num2str και το αντίστροφο για την εισαγωγή του αριθμού ανα ψηφίο σε ξεχωριστό κελί στον πίνακα :)

 

Ελπίζω αν και λίγο καθυστερημένα να βοήθησα και εγώ :-)


Αυτό που δεν κατάλαβες δεν είναι βέβαια η ερώτηση (το αρχικό post) αλλά η ένσταση (το δεύτερο post της OP). Θα έπρεπε να είναι προφανές, και βασικά είναι προφανές σε όλους τους υπόλοιπους που διαβάζουν το thread.

 

Κατά τα άλλα εκτίθεσαι, αυτό ελπίζω να το καταλαβαίνεις. Τουλάχιστον κάνε τον κόπο πριν μπεις σε ένα forum guns blazing να διαβάσεις λίγο πρώτα να δεις τι γίνεται. Όχι, δεν περιμέναμε εσένα να μας δείξεις το δρόμο για να μη δίνουμε μασημένη τροφή.

 

ΥΓ: Αν θέλεις μπορείς να ποστάρεις τη λύση σου για να προτείνουμε βελτιώσεις.

 

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

 

Για το πως να χωριστεί το νούμερο, απαντήθηκε απο προηγούμενο πιο πάνω, με την num2str, σε πίνακα κτλ. Η γενική περίπτωση είναι με n=length(*); (σε Matlab, λογικά παρόμοιο σε C )

 

Δεν έχω σκοπό προφανώς να θίξω κανέναν :) Peace brothers!

Δημοσ.

Οταν με λένε "μικρέ" και "δεν κατάλαβες", με το δίκιο μου :-(

 

Το ότι δεν κατάλαβες (ποιά ήταν η ένσταση) είναι φανερό εφόσον αρπάχτηκες.

 

Το μικρέ το είπα γιατί αν είσαι μεγάλος και παρόλα αυτά επιλέγεις ελεύθερα να γράψεις το location που έγραψες... υπάρχει πρόβλημα.

 

Αυτά στα πλαίσια του να είμαστε ξεκάθαροι, δε σε ξέρω δε με ξέρεις δεν έχουμε χωράφι να μοιράσουμε.

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...