Advertisement
Guest User

McCarthy's 91 Function - Recursive

a guest
Jan 7th, 2014
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.49 KB | None | 0 0
  1. #!/usr/bin/perl -w
  2.  
  3. use strict;
  4. use warnings;
  5.  
  6. my $n = <STDIN>;
  7. chomp($n);
  8.  
  9. mprint($n, 1);
  10.  
  11. sub mprint {
  12.     my $n = shift;
  13.     my $level = shift;
  14.  
  15.     print tostring($n, $level)."\n";
  16.     return if $level == 0;
  17.  
  18.     mprint($n+11, $level+1) if $n <= 100;
  19.     mprint($n-10, $level-1) if $n > 100;
  20. }
  21.  
  22. sub tostring {
  23.     my $n = shift;
  24.     my $level = shift;
  25.  
  26.     return "$n" if $level <= 0;
  27.     return "M($n)" if $level == 1;
  28.     return "M(".tostring($n, $level-1).")";
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement