Rust अभ्यास
Prime Numbers in Rust
Test whether a number is prime and list the primes up to 30 with filter.
आप क्या सीखेंगे
- Trial division
- Stopping at the square root
- filter on a range
2 to 7
2prime
3prime
42 x 2
5prime
62 x 3
7prime
Only divisible by 1 and itself
A prime number is larger than 1 and can only be divided by 1 and itself. Write a function that tests one number, then use it to filter a range.
It is enough to try divisors up to the square root of n, which is what divisor * divisor <= n checks. filter keeps the numbers for which is_prime returns true and collect gathers them into a vector.
मुख्य बातें
- Numbers below 2 are not prime.
- Divisors up to the square root are enough.
- filter keeps the numbers that pass the test.
चलने योग्य Rust उदाहरण
Rust
main.rs
fn is_prime(n: u32) -> bool {
if n < 2 {
return false;
}
let mut divisor = 2;
while divisor * divisor <= n {
if n % divisor == 0 {
return false;
}
divisor += 1;
}
true
}
fn main() {
let primes: Vec<u32> = (1..=30).filter(|&n| is_prime(n)).collect();
println!("{:?}", primes);
println!("97 is prime: {}", is_prime(97));
}
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
97 is prime: trueअभ्यास
उदाहरण को ऑनलाइन कंपाइलर में खोलें, कोई मान बदलें या एक पंक्ति जोड़ें, और चलाने से पहले आउटपुट का अनुमान लगाएँ। फिर कोड में जान-बूझकर गलती करें और कंपाइलर का संदेश पढ़ें।
यह पाठ पूरा कर लिया?
अपनी प्रगति ट्रैक करने के लिए इसे सीखा हुआ मार्क करें।
आपकी प्रगति इस ब्राउज़र में सेव है इसे हर डिवाइस पर रखने के लिए साइन इन करें।
चैलेंज से अभ्यास करें
इस पाठ में सीखी बात से एक असली समस्या हल करें। हर चैलेंज ब्राउज़र में चलता है, तुरंत टेस्ट और AI रिव्यू के साथ।
- मूल संख्या जांचें निर्धारित करें कि कोई संख्या मूल है या नहीं। आसान
- List Primes With a Sieve Find primes up to a limit by marking composite multiples. मध्यम