Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. #!/usr/bin/perl6
  2. use v6;
  3.  
  4. use Test;
  5.  
  6. # 15.1 Write a script to generate first 10 strong and weak prime numbers.
  7. #
  8. # For example, the nth prime number is represented by p(n).
  9. #
  10. # p(1) = 1
  11. # p(2) = 3
  12. # p(3) = 5
  13. #
  14. # Strong Prime number p(n) when p(n) > [ p(n-1) + p(n+1) ] / 2
  15. # Weak Prime number p(n) when p(n) < [ p(n-1) + p(n+1) ] / 2
  16.  
  17. my @p = (2,3,*+2 ... ∞).grep: *.is-prime;
  18.  
  19. my @weak = (1 .. ∞).map: { @p[$_] if @p[$_] < ( @p[$_-1] + @p[$_+1] ) /2 };
  20. my @strong = (1 .. ∞).map: { @p[$_] if @p[$_] > ( @p[$_-1] + @p[$_+1] ) /2 };
  21.  
  22.  
  23. sub MAIN($num where *>1)
  24. {
  25. say "$num weak primes";
  26. say @weak[^$num];
  27.  
  28. say "$num strong primes";
  29. say @strong[^$num];
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement