Menu
CoddyTech

Metode Rentang

Termasuk bagian Logika dan Alur dalam perjalanan Swift di Coddy. Pelajaran 9 dari 56.

Range adalah Collection sungguhan, jadi range dilengkapi dengan perkakas yang sama seperti yang kamu gunakan pada array.

contains, count, first, dan last semuanya bisa digunakan secara langsung:

let r = 1...10
print(r.contains(5))            // true
print(r.count)                  // 10
print(r.first!, r.last!)        // 1 10

Sebagian besar method array yang pernah kamu gunakan juga berfungsi. filter mengembalikan array karena hasil pemfilteran rentang bukanlah rentang itu sendiri:

let evens = (1...10).filter { $0 % 2 == 0 }
print(evens)                    // [2, 4, 6, 8, 10]

Sama seperti reduce: range memiliki fitur ini, dan kamu akan mengandalkannya untuk menghitung jumlah dan hasil kali dengan cepat.

challenge icon

Tantangan

Mudah

Baca dua bilangan bulat (dua baris): n dan target. Perlakukan rentang tertutup 1...n sebagai kumpulan datamu.

Cetak tiga baris:

  1. true jika target berada dalam rentang, jika tidak, false
  2. Hasil perkalian semua nilai dalam rentang (n!: faktorial). Gunakan reduce.
  3. Nilai dalam rentang yang merupakan kelipatan 3, digabungkan dengan , (atau baris kosong jika tidak ada yang memenuhi syarat). Gunakan filter.

Untuk input 5 / 3, outputnya adalah:

true
120
3

Coba sendiri

let n = Int(readLine()!)!
let target = Int(readLine()!)!
let r = 1...n

// TODO: periksa dengan contains(target), hitung hasil perkalian dengan reduce, saring kelipatan 3 dengan filter
quiz iconUji dirimu

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

Semua pelajaran di Logika dan Alur

Latihan sendiri: Playground Swift