SHARE
TWEET

Untitled

a guest May 19th, 2017 44 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4.  
  5. my ($p, $a) = (scalar <>, scalar <>);
  6. my $tmp = 0;
  7.  
  8. for (1 .. $p - 1) {
  9.     $tmp = $tmp == 0 ? ($a ** $_) % $p : ($tmp * $a) % $p;
  10.     if ($tmp == 1) {
  11.         print "\n$_\n";
  12.         print "Primitiv\n" if $_ == $p - 1;
  13.         last;
  14.     }
  15. }
  16.  
  17.  
  18. b0x~ :) perl ord.pl
  19. 5431
  20. 2
  21.  
  22. 2715
  23. b0x~ :) perl ord.pl
  24. 5431
  25. 51
  26.  
  27. 5430
  28. Primitiv
  29. b0x~ :) perl ord.pl
  30. 5431
  31. 5430
  32.  
  33. 2
  34. b0x~ :) perl ord.pl
  35. 19751
  36. 2
  37.  
  38. 9875
  39. b0x~ :) perl ord.pl
  40. 19751
  41. 7
  42.  
  43. 19750
  44. Primitiv
  45. b0x~ :) perl ord.pl
  46. 19751
  47. 11111
  48.  
  49. 19750
  50. Primitiv
  51. b0x~ :)
RAW Paste Data
Top