prime_zeta.pl 515 B

12345678910111213141516171819202122232425262728
  1. #!/usr/bin/perl
  2. # Author: Daniel "Trizen" Șuteu
  3. # License: GPLv3
  4. # Date: 16 November 2015
  5. # Website: https://github.com/trizen
  6. # zeta(s) = sum(1 / k^s) from k=1 to Infinity
  7. # zeta(s) = product(1 / (1 - prime(k)^(-s))) from k=1 to Infinity
  8. use 5.010;
  9. use strict;
  10. use warnings;
  11. use ntheory qw(nth_prime);
  12. sub prime_zeta {
  13. my ($s) = @_;
  14. my $p = 1;
  15. for my $i (1 .. 10000) {
  16. $p *= 1 / (1 - 1 / nth_prime($i)**$s);
  17. }
  18. return $p;
  19. }
  20. say sqrt(prime_zeta(2) * 6);