异类

作者:Eric Hodges

这是一个匹配游戏。我们会提供一些数组,你需要编写一个脚本来报告每个数组中哪个元素与其他元素不同。

事件场景

如果你有一个苹果、一个橙子和一根胡萝卜,哪个不属于同一类?我们应该说胡萝卜,因为苹果和橙子是水果,而胡萝卜是蔬菜。在这个事件中,你将接收三组元素,并确定哪个元素与其他元素不同。你将从五个数组开始,每个数组包含三个元素。

$a1 = ("monday", "MONDAY", "monday");
$a2 = ("TUESDAY", "tuesday", "tuesday");
$a3 = ("WEDNESDAY", "wednesday", "wednesday");
$a4 = ("thursday", "thursday", "THURSDAY");
$a5 = ("friday", "FRIDAY", "friday");

要获得此事件的 5 分,你必须编写一个脚本来报告每个数组中三个元素中的哪一个是不同的。例如,数组 1 中的第二个元素是不同的,所以你的输出应该如下所示

a1: 第二个

http://web.archive.org/web/20070228055412/http://www.microsoft.com/technet/scriptcenter/funzone/games/games07/bevent3.mspx

源代码:event003-eric256.pl

use v6;

sub find_unique (@x) {
    my %test;
    %test{$_}++ for @x;
    return %test.pairs.first( { .value == 1 });
};

my @a1 = ("monday", "MONDAY", "monday");
my @a2 = ("TUESDAY", "tuesday", "tuesday");
my @a3 = ("WEDNESDAY", "wednesday", "wednesday");
my @a4 = ("thursday", "thursday", "THURSDAY");
my @a5 = ("friday", "FRIDAY", "friday");


find_unique(@a1).key.say;
find_unique(@a2).key.say;
find_unique(@a3).key.say;
find_unique(@a4).key.say;
find_unique(@a5).key.say;