Menu
Coddy logo textTech

Wzór liczbowy

Część sekcji Podstawy ścieżki Rust w Coddy. Lekcja 73 z 75.

Podczas tworzenia wzorów, takich jak piramidy, często musimy tworzyć ciągi znaków z powtarzającymi się znakami. W Rust można to osiągnąć na kilka sposobów, ale oto jedna z najprostszych metod:

let str = "a".repeat(10);

str będzie zawierać "aaaaaaaaaa"

Metoda repeat() wymaga konkretnie argumentu typu usize, a nie zwykłego typu całkowitoliczbowego, takiego jak i32.

usize to typ liczby całkowitej bez znaku o rozmiarze wskaźnika w Rust — jego rozmiar zależy od architektury (32 bity w systemach 32-bitowych, 64 bity w systemach 64-bitowych).

let count: usize = 5;
let repeated = "x".repeat(count);  // To działa

Jeśli masz i32 lub inny typ całkowity, musisz go przekonwertować:

let num: i32 = 7;
let repeated = "y".repeat(num as usize);
// Konwertuj za pomocą 'as usize'

To się nie skompiluje:

let repeated = "z".repeat(num);
// Błąd: oczekiwano usize, znaleziono i32
challenge icon

Wyzwanie

Łatwy

Każdy przypadek testowy zawiera jedno wejście — nieparzystą liczbę całkowitą.
Twoim zadaniem jest wypisać piramidę o wysokości n za pomocą *. Oto kilka przykładów:

Piramida o wysokości 1

*

Piramida o wysokości 5

*
***
*****

Piramida o wysokości 7

*
***
*****
*******

Dane wejściowe

  • nieparzysta liczba całkowita n od użytkownika
  • 1 <= n < 1000

Wskazówki

  • Spróbuj zacząć od małych trójkątów
  • Jeśli utkniesz, sprawdź podpowiedź ;)

n oznacza liczbę  * w dolnym wierszu

Uwaga: W Rust funkcje, które obsługują „rozmiar” lub „długość” czegoś (takie jak .repeat()), wymagają typu o nazwie usize zamiast i32; możesz traktować usize jak zwykłą liczbę całkowitą, która nigdy nie jest ujemna.

Spróbuj swoich sił

use std::io;

fn main() {
    let mut input_n = String::new();
    io::stdin().read_line(&mut input_n).unwrap();
    let n: usize = input_n.trim().parse().unwrap();

    
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Rust online