可约分数

作者:Andrei Osipov

https://projecteuler.net/problem=33

49/98 是一个非常奇特的分数,因为缺乏经验的数学家在试图简化它时,可能会错误地认为 49/98 = 4/8,而这是正确的,是通过约掉 9 得到的。

我们将像 30/50 = 3/5 这样的分数视为平凡的例子。

这类分数中,小于 1 且分子和分母都是两位数的非平凡例子恰好有四个。

如果这四个分数的乘积以最简分数形式给出,求分母的值。

源代码: prob033-andreoss.pl

use v6;

sub is-curious($num, $den) {
    my @d = $den.comb;
    my @n = $num.comb;
    @d[0] == @n[1] && @n[0]/@d[1] == $num/$den;
}

say 1 / [*] gather for 10 ...^ 100 -> $den {
    for 10 ...^ $den -> $num {
        take $num/$den if is-curious $num, $den;
    }
}