powers_of_primes_in_factorial.pl 586 B

1234567891011121314151617181920212223242526272829303132333435
  1. #!/usr/bin/perl
  2. # Author: Daniel "Trizen" Șuteu
  3. # License: GPLv3
  4. # Date: 25 August 2016
  5. # Website: https://github.com/trizen
  6. # A simple function that returns the power of a given prime in the factorial of a number.
  7. # For example:
  8. #
  9. # factorial_power(100, 3) = 48
  10. #
  11. # because 100! contains 48 factors of 3.
  12. use 5.010;
  13. use strict;
  14. use warnings;
  15. sub factorial_power {
  16. my ($n, $p) = @_;
  17. my $count = 0;
  18. my $ppow = $p;
  19. while ($ppow <= $n) {
  20. $count += int($n / $ppow);
  21. $ppow *= $p;
  22. }
  23. return $count;
  24. }
  25. say factorial_power(100, 3); #=> 48