mirror of
https://github.com/LukasKalbertodt/programmieren-in-rust.git
synced 2025-06-29 08:17:32 +02:00
Add tasks for sheet2
This commit is contained in:
20
aufgaben/sheet2/task1/README.md
Executable file
20
aufgaben/sheet2/task1/README.md
Executable file
@ -0,0 +1,20 @@
|
||||
Aufgabe 2.1: Primzahltest
|
||||
=========================
|
||||
|
||||
Schreibt eine Funktion `is_prime()`, welche berechnet, ob eine gegebenen ganzen
|
||||
Zahl `n` eine Primzahl ist. In der `main()` Funktion sollen alle Zahlen von 1
|
||||
bis 20 ausgegeben werden, wobei nach allen Primzahlen ein Sternchen-Symbol
|
||||
(`*`) folgen soll:
|
||||
|
||||
```
|
||||
1
|
||||
2*
|
||||
3*
|
||||
4
|
||||
5*
|
||||
...
|
||||
```
|
||||
|
||||
*Hinweis*: Der Primzahltest muss nicht auf Laufzeit optimiert werden!
|
||||
|
||||
Nutzt die schon vorgegebene Datei `prime.rs`!
|
36
aufgaben/sheet2/task1/prime.rs
Executable file
36
aufgaben/sheet2/task1/prime.rs
Executable file
@ -0,0 +1,36 @@
|
||||
//! Aufgabe 2.1: Primzahltest
|
||||
|
||||
fn main() {
|
||||
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn small_primes() {
|
||||
assert!(is_prime(2));
|
||||
assert!(is_prime(3));
|
||||
assert!(is_prime(5));
|
||||
assert!(is_prime(7));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn small_composites() {
|
||||
assert!(!is_prime(1));
|
||||
assert!(!is_prime(4));
|
||||
assert!(!is_prime(6));
|
||||
assert!(!is_prime(8));
|
||||
assert!(!is_prime(9));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn large_primes() {
|
||||
assert!(is_prime(1_300_769));
|
||||
assert!(is_prime(1_300_297));
|
||||
assert!(is_prime(7_367_287));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn large_composites() {
|
||||
assert!(!is_prime(908_209));
|
||||
assert!(!is_prime(3_073_009));
|
||||
assert!(!is_prime(4_897_369));
|
||||
}
|
Reference in New Issue
Block a user