Menu
CoddyTech

Pola Angka

Termasuk bagian Dasar-Dasar dalam perjalanan Rust di Coddy. Pelajaran 73 dari 75.

Saat membuat pola seperti piramida, kita sering perlu membuat string dengan karakter yang berulang. Di Rust, ada beberapa cara untuk melakukannya, tetapi berikut salah satu cara yang paling sederhana:

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

str akan berisi "aaaaaaaaaa"

method repeat() secara khusus memerlukan argumen usize, bukan tipe integer biasa seperti i32.

usize adalah tipe integer tanpa tanda yang ukurannya sebesar pointer di Rust. Ukurannya bergantung pada arsitekturmu, 32 bit pada sistem 32-bit dan 64 bit pada sistem 64-bit.

let count: usize = 5;
let repeated = "x".repeat(count);  // Ini berhasil

Jika kamu memiliki i32 atau tipe bilangan bulat lainnya, kamu perlu mengonversinya:

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

Ini tidak akan bisa dikompilasi:

let repeated = "z".repeat(num);
// Error: mengharapkan usize, tetapi menemukan i32
challenge icon

Tantangan

Mudah

Setiap kasus uji memiliki satu input, yaitu bilangan bulat ganjil.
Tugasmu adalah mencetak piramida n menggunakan *, berikut beberapa contohnya:

Piramida 1

*

Piramida 5

*
***
*****

Piramida 7

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

Input

  • bilangan bulat ganjil n dari pengguna
  • 1 <= n < 1000

Petunjuk

  • Coba mulai dari segitiga kecil
  • Lihat petunjuk jika kamu kesulitan ;)

n menyatakan jumlah  * pada baris paling bawah

Catatan: Di Rust, fungsi yang menangani "ukuran" atau "panjang" sesuatu (seperti .repeat()) memerlukan tipe bernama usize, bukan i32; kamu bisa menganggap usize sebagai bilangan bulat biasa yang tidak pernah negatif.

Coba sendiri

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 iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Rust online