Menu
CoddyTech

Sayı Örüntüsü

Coddy'nin Rust Journey'sinin Temeller bölümünün bir parçası. Ders 73 / 75.

Piramitler gibi desenler oluştururken, genellikle tekrarlanan karakterlerden oluşan dizeler oluşturmamız gerekir. Rust'ta bunu gerçekleştirmenin birkaç yolu vardır, ancak en basit yöntemlerden biri şöyledir:

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

str içinde "aaaaaaaaaa" bulunur

repeat() yöntemi özellikle bir usize bağımsız değişkeni gerektirir; i32 gibi normal bir tam sayı türü değil.

usize, Rust'ta işaretçi boyutunda işaretsiz tamsayı türüdür; boyutu mimarinize bağlıdır (32 bit sistemlerde 32 bit, 64 bit sistemlerde 64 bit).

let count: usize = 5;
let repeated = "x".repeat(count);  // Bu çalışır

i32 veya başka bir tamsayı türünüz varsa, onu dönüştürmeniz gerekir:

let num: i32 = 7;
let repeated = "y".repeat(num as usize);
// 'as usize' ile dönüştür

Bu derlenmez:

let repeated = "z".repeat(num);
// Hata: usize bekleniyordu, i32 bulundu
challenge icon

Görev

Kolay

Her test durumunda tek bir girdi bulunur: tek bir tam sayı.
Görevin, * kullanarak n - piramidi yazdırmaktır. İşte birkaç örnek:

1 - piramit

*

5 - piramit

*
***
*****

7 - piramit

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

Girdi

  • Kullanıcıdan alınan tek tam sayı n
  • 1 <= n < 1000

İpuçları

  • Küçük üçgenlerden başlayarak çözmeyi dene
  • Takılırsan ipucuna göz at ;)

n, alt sıradaki  * sayısını belirtir

Not: Rust'ta, bir şeyin "boyutu" veya "uzunluğu" ile ilgili işlemler yapan fonksiyonlar (.repeat() gibi), i32 yerine usize adlı bir tür gerektirir; usize türünü hiçbir zaman negatif olmayan normal bir tam sayı olarak düşünebilirsin.

Kendin dene

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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online Rust derleyicisi