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 berhasilJika 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 i32Tantangan
MudahSetiap 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
ndari pengguna - 1 <=
n< 1000
Petunjuk
- Coba mulai dari segitiga kecil
- Lihat petunjuk jika kamu kesulitan ;)
nmenyatakan 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();
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPintasan AritmetikaOperator PerbandinganPerbandingan String7Input/Output Dasar
Menampilkan teks di konsolMembaca input penggunaUlasan: Hingga 120Ulasan: Benar atau Salah5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ulasan: Logika SederhanaOperator Logika Bagian 311Fungsi
Mendeklarasikan FungsiParameter dan ArgumenNilai KembalianBeberapa Nilai KembalianRingkasan: Fungsi SigmaRingkasan: Fungsi Validasi14Iterasi pada Array
Panduan RangeFor Loop yang DisempurnakanBorrow dalam LoopOperasi Umum pada Array3Variabel Bagian 2
Deklarasi TipeKonvensi PenamaanInferensi TipeRangkuman: Inisialisasi VariabelKonversi Tipe9Perulangan
For untuk Menelusuri UrutanWhile LoopBreakContinueNested LoopLabel LoopInfinite LoopRingkasan: Input DinamisLatihan sendiri: Compiler Rust online