Ingen beskrivning
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

main.rs 915B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //! hw01t5: Primzahltest
  2. fn is_prime(n: u64) -> bool {
  3. for i in 2..n {
  4. if n % i == 0 {
  5. return false;
  6. }
  7. }
  8. n > 1 && n % 1 == 0 && n % n == 0
  9. }
  10. fn main() {
  11. for i in 1..31 {
  12. if is_prime(i) {
  13. println!("{}*", i);
  14. } else {
  15. println!("{}", i);
  16. }
  17. }
  18. }
  19. #[test]
  20. fn small_primes() {
  21. assert!(is_prime(2));
  22. assert!(is_prime(3));
  23. assert!(is_prime(5));
  24. assert!(is_prime(7));
  25. }
  26. #[test]
  27. fn small_composites() {
  28. assert!(!is_prime(1));
  29. assert!(!is_prime(4));
  30. assert!(!is_prime(6));
  31. assert!(!is_prime(8));
  32. assert!(!is_prime(9));
  33. }
  34. #[test]
  35. fn large_primes() {
  36. assert!(is_prime(1_300_769));
  37. assert!(is_prime(1_300_297));
  38. assert!(is_prime(7_367_287));
  39. }
  40. #[test]
  41. fn large_composites() {
  42. assert!(!is_prime(908_209));
  43. assert!(!is_prime(3_073_009));
  44. assert!(!is_prime(4_897_369));
  45. }