Menu
Coddy logo textTech

Schema numerico

Fa parte della sezione Fondamenti del percorso Rust di Coddy. Lezione 73 di 75.

Quando creiamo schemi come le piramidi, spesso dobbiamo creare stringhe con caratteri ripetuti. In Rust, ci sono diversi modi per riuscirci, ma ecco uno dei metodi più semplici:

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

str conterrà "aaaaaaaaaa"

Il metodo repeat() richiede specificamente un argomento usize, non un tipo intero normale come i32.

usize è il tipo intero senza segno di Rust della dimensione di un puntatore: la sua dimensione dipende dalla tua architettura (32 bit sui sistemi a 32 bit, 64 bit sui sistemi a 64 bit).

let count: usize = 5;
let repeated = "x".repeat(count);  // Questo funziona

Se hai un i32 o un altro tipo intero, dovrai convertirlo:

let num: i32 = 7;
let repeated = "y".repeat(num as usize);
// Converti con 'as usize'

Questo non verrà compilato:

let repeated = "z".repeat(num);
// Error: expected usize, found i32
challenge icon

Sfida

Facile

Ogni caso di test ha un input: un numero intero dispari.
Il tuo compito è stampare una piramide di n usando *; ecco alcuni esempi:

Piramide di 1

*

Piramide di 5

*
***
*****

Piramide di 7

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

Input

  • un intero dispari n fornito dall'utente
  • 1 <= n < 1000

Suggerimenti

  • Prova a iniziare dai triangoli piccoli
  • Controlla il suggerimento se sei bloccato ;)

n rappresenta il numero di  * nella riga in basso

Nota: In Rust, le funzioni che gestiscono la "size" o la "length" di qualcosa (come .repeat()) richiedono un tipo chiamato usize invece di i32; puoi considerare usize come un normale numero intero che non è mai negativo.

Provalo tu

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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Rust online