2017年3月15日水曜日

開発環境

Think Perl 6: How to Think Like a Computer Scientist (Laurent Rosenfeld(著)、Allen B. Downey(著)、Oreilly & Associates Inc)のPart 1(Starting with the basics)、Chapter 4(Conditionals and recursion)のExercises 4-3-1、2.を取り組んでみる。

Exercises 4-3-1、2.

コード(Emacs)

#!/usr/bin/env perl6
# -*- coding: utf-8 -*-

say '1.';

sub is-triangle($a, $b, $c) {
    if $a > $b + $c or $b > $c + $a or $c > $a + $b {
        say 'No';
    } else {
        say 'Yes';
    }
}

is-triangle(12, 1, 1);
is-triangle(1, 12, 1);
is-triangle(1, 1, 12);

is-triangle(1, 2, 4);
is-triangle(2, 4, 1);
is-triangle(4, 1, 2);

is-triangle(2, 3, 4);
is-triangle(3, 4, 2);
is-triangle(4, 2, 3);

say '2.';
for 1..9 {
    my $a = Int(get);
    my $b = Int(get);
    my $c = Int($*IN.get);
    is-triangle($a, $b, $c);
}

入出力結果(Terminal, REPL)

$ ./sample3.pl < sample3.txt 
1.
No
No
No
No
No
No
Yes
Yes
Yes
2.
No
No
No
No
No
No
Yes
Yes
Yes
$ cat sample3.txt 
12
1
1
1
12
1
1
1
12
1
2
4
2
4
1
4
1
2
2
3
4
3
4
2
4
2
3
$ 

0 コメント:

コメントを投稿