Guest User

Untitled

a guest
Dec 18th, 2018
78
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/env perl
  2.  
  3. use strict;
  4. use warnings;
  5. use Data::Dumper;
  6.  
  7. my $S=210; #素因数が4つになる最初の数値
  8. my $N=1000000;
  9. my @ans=();
  10.  
  11. foreach my $n ($S..$N)
  12. {
  13. my %pfactors = get_pfactors($n);
  14. my $num = keys %pfactors;
  15. if($num == 4)
  16. {
  17. #print "[$n] $num\n";
  18. push(@ans, $n);
  19. if (scalar(@ans)==4)
  20. {
  21. print "Ans: $ans[0]\n";
  22. last;
  23. }
  24. }
  25. else
  26. {
  27. @ans=(); #リストクリア
  28. }
  29. }
  30. exit;
  31.  
  32. #素因数分解
  33. sub get_pfactors
  34. {
  35. my $src = shift;
  36. my %arr;
  37.  
  38. foreach (my $div=2; $div<=($src/2); $div++)
  39. {
  40. if($src % $div == 0)
  41. {
  42. $arr{$div}++;
  43. $src /= $div;
  44. redo;
  45. }
  46. }
  47. $arr{$src}++ if($src>1);
  48. return(%arr);
  49. }
  50.  
  51. #Ans: 134043
Add Comment
Please, Sign In to add comment