Soal: periksa apakah bilangan prima

Pembaharuan Terakhir: 09/11/2023

Memahami apakah suatu bilangan prima adalah konsep dasar dalam matematika. Bilangan prima memiliki beragam penerapan mulai dari kriptografi hingga pembuatan bilangan acak semu dalam ilmu komputer. Hari ini, kita akan menggali konsep ini dengan Haskell, sebuah bahasa pemrograman fungsional. Kita akan mulai dengan solusinya, lalu menganalisis kodenya selangkah demi selangkah. Lebih lanjut, artikel ini mencakup wawasan tentang bilangan prima di berbagai perpustakaan dan fungsi.

bilangan prima didefinisikan sebagai bilangan yang hanya mempunyai dua pembagi bilangan asli yang berbeda: 1 dan bilangan itu sendiri. Tugas untuk memeriksa apakah suatu bilangan prima melibatkan menentukan apakah bilangan tersebut memiliki pembagi lain selain 1 dan bilangan itu sendiri.

Sekarang, mari kita lihat solusinya di Haskell.

isPrime :: Int -> Bool
isPrime n = nol [ x | x <- [2..n - 1], n `mod` x == 0] [/code]

Memahami Kode

Dalam kode ini, kita memiliki fungsi bernama 'isPrime', yang menggunakan bilangan bulat sebagai argumennya yang mengembalikan nilai boolean. Fungsi ini menggunakan fungsi 'null' bawaan Haskell, yang memeriksa apakah daftar yang diberikan kosong atau tidak.

Logika bilangan prima telah diimplementasikan dalam bentuk pemahaman daftar. Di dalam pemahaman daftar, kami membuat daftar angka dari 2 hingga (n-1) dan memeriksa apakah 'n' habis dibagi oleh salah satu elemen ini.

  • [2..n-1] : Menghasilkan daftar angka dari 2 hingga satu kurang dari angka tersebut.
  • n `mod` x : Memeriksa apakah bilangan n habis dibagi bilangan apa pun dalam daftar yang dihasilkan.

Jika suatu bilangan habis dibagi, maka bilangan tersebut dikatakan bukan bilangan prima, melainkan bilangan prima. Fungsi null memeriksa apakah daftar yang dihasilkan kosong atau tidak. Jika ya, 'null' mengembalikan True yang menunjukkan bilangan prima.

Perpustakaan Haskell dan Fungsi yang Mendukung Prime Check

Haskell menawarkan banyak perpustakaan dan fungsi yang dapat membantu Anda dalam menangani bilangan prima. Beberapa diantaranya adalah:

  • Paket 'Bilangan' menyediakan serangkaian fungsi yang dapat menyaring bilangan prima, menghasilkan bilangan prima, dan memeriksa primalitas.
  • 'Math.NumberTheory.Primes' adalah perpustakaan khusus lainnya untuk manipulasi bilangan prima.
  • 'Arithmoi' adalah perpustakaan Haskell yang berfokus pada paradigma teori bilangan. Ini mencakup algoritma untuk menghasilkan bilangan prima, memfaktorkan komposisi dan banyak lagi.

Meskipun Haskell memiliki fungsi perpustakaan bawaan, mempelajari dan menguraikan logika di balik pemeriksaan bilangan prima memberi Anda dasar bahasa yang lebih kuat dan mempersiapkan Anda untuk mengatasi masalah yang lebih maju. Pendekatan langsung ini biasanya lebih baik dalam memahami cara kerja bahasa seperti Haskell yang lebih mendalam.

Investigasi Lebih Lanjut

Memahami pemeriksaan bilangan prima merupakan dasar dari banyak masalah matematika. Selain pemeriksaan primalitas, Anda juga dapat mempelajari:

  • Menghasilkan semua bilangan prima hingga batas tertentu
  • Menentukan banyaknya bilangan prima sampai batas tertentu (fungsi hitung prima)
  • Memfaktorkan suatu bilangan menjadi bilangan prima
  • Semua masalah ini memiliki solusi yang efisien di Haskell yang menunjukkan kekuatan dan keindahan pemrograman fungsional dalam memecahkan masalah matematika.

Pos terkait: