Επίπεδο 10.8 του βιβλίου προβλημάτων Rust

Задание 1

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

Задание 2

Υλοποιήστε τον αλγόριθμο "Κόσκινο του Ερατοσθένη" για την εύρεση πρώτων αριθμών σε ένα δεδομένο διάστημα.

Задание 3

Δίνεται ένας αυθαίρετος δισδιάστατος πίνακας:

rust[
  [11, 12, 13, 14, 15],
  [21, 22, 23, 24, 25],
  [31, 32, 33, 34, 35],
  [41, 42, 43, 44, 45],
  [51, 52, 53, 54, 55],
]

Ανταλλάξτε δύο δεδομένες σειρές:

rust[
  [51, 52, 53, 54, 55],
  [21, 22, 23, 24, 25],
  [31, 32, 33, 34, 35],
  [41, 42, 43, 44, 45],
  [11, 12, 13, 14, 15],
]
Задание 4

Δίνεται ένας αυθαίρετος δισδιάστατος πίνακας:

rust[
  [1, 2, 3, 4, 5],
  [1, 2, 3, 4, 5],
  [1, 2, 3, 4, 5],
  [1, 2, 3, 4, 5],
  [1, 2, 3, 4, 5],
]

Πάρτε το άθροισμα των στηλών αυτού του πίνακα. Αναπαραστήστε το αποτέλεσμα ως πίνακα αθροισμάτων:

rust[
  5, 10, 15, 20, 25
]
Задание 5

Δίνεται μια συμβολοσειρά που περιέχει οποιονδήποτε αριθμό ένθετων ζευγών στρογγυλών παρενθέσεων. Γράψτε κώδικα που θα ελέγχει ότι οι παρενθέσεις είναι τοποθετημένες σωστά.

Αυτό είναι σωστό:

rust"()()"

Αυτό είναι σωστό:

rust"(())"

Αυτό είναι λανθασμένο, καθώς ο αριθμός των ανοιγόμενων παρενθέσεων δεν ταιριάζει με τον αριθμό των κλειστών:

rust"())"

Αυτό είναι λανθασμένο, καθώς, αν και ο αριθμός των ανοιγόμενων παρενθέσεων ταιριάζει με τον αριθμό των κλειστών, η σειρά τους είναι λανθασμένη:

rust"))(("