본문 바로가기

2014/12/19

[Perl] hanoi sub hanoi {my ($mai , $x, $y, $z) =@_;if ($mai > 0){hanoi($mai-1 , $x , $z , $y );print "move", $mai ,"from", $x ,"to", $z ,"\n";hanoi($mai-1 , $y , $x , $z );}}hanoi(3, "A", "B", "C"); 상기의 결과에 더해, 각행의 선두에 수순의 순번수를 출력하도록 변경해라. use strict;use warnings; my $i = 0; sub hanoi {my ($mai , $x, $y, $z) =@_;if ($mai > 0){hanoi($mai-1 , $x , $z , $y );print ++$i;print "move", $mai ,"from", $x ,"to", $z ,.. 더보기
[Perl] 재귀함수 숫자를 한개 입력하여, 그 숫자의 계승을 계산하는 프로그램을 재귀(?)를 사용하여 만들을것.(3-A) (再帰呼び出し:재귀 호출:Recursive Call)자기자신을 호출하는 것. [1부터 10까지의 숫자를 합계한다. ] use strict;use warnings; my $num;my $cal = 0; print "Please enter the number. "; $num = ;chomp $num; Factorial ($num);print "result : " . $cal . "\n"; sub Factorial {$num = shift; $cal += $num;$num--;if ($num > 0) {Factorial ($num);}} 더보기
[Perl] 홀수 짝수 Subroutine 전달된 1개의 인수의 짝수홀수를 조사하여, 홀수라면 [Odd], 짝수라면 [Even]이라고 출력하는 서브루틴을 작성하여, http://seungngil.tistory.com/entry/Perl%ED%99%80%EC%88%98-%EC%A7%9D%EC%88%98-%EA%B5%AC%ED%95%98%EA%B8%B0의 과제를 그 서브루틴을 사용해도록 변경하여라. use strict;use warnings; my $num; print "Please enter the number. "; $num = ;chomp $num; OddEven ($num); sub OddEven {my $num = shift;for (my $i = 1; $i 더보기
[Perl] Subroutine parameter 전달된 2개의 인수의 차(의 절대값)을 값으로서 되돌려주는 서브루틴을 작성해여라. 동작을 확실히 하기위해, 마땅한 호출을 해보자 use strict;use warnings; my $num1;my $num2; print "Please enter the 2 number. "; $num1 = ;chomp $num1;$num2 = ;chomp $num2; print "result : " . CalAbsolute ($num1, $num2) . "\n"; sub CalAbsolute {my ($num1, $num2) = @_; return (abs($num1 - $num2));} 더보기
[Perl] Subroutine 전달된 한개의 인수의 절대값을 값으로서 되돌려주는 서브루틴을 작성하여, http://seungngil.tistory.com/entry/perl-%EC%A0%88%EB%8C%80%EA%B0%92-%EA%B5%AC%ED%95%98%EA%B8%B0를 그 서브루틴을 사용하게 변경하여라. use strict;use warnings; my $str; while (1) { print "Please enter the number.(Enter exit at the end) "; $str = ; chomp $str; if ($str eq "exit" || $str eq "") { last; } if ($str =~ /[a-zA-Z]/) { print "Not number.\n"; next; } print (Absolute.. 더보기