すぐには解けなかったです
□□□□□ - □□□□ 3 3 3 3 3 □には1〜9がひとつずつ入るとする
の問題を力ずくで解いてみました。
cpanからMath::Combinatoricsをインストールして、
#!/usr/bin/perl -w use strict; use Math::Combinatorics; # □□□□□ # - □□□□ # 3 3 3 3 3 # □には1-9がひとつずつ入るとする for my $ref(permute(qw/1 2 3 4 5 6 7 8 9/)){ my $str = join'', @$ref; my $n = substr $str, 0, 5; my $m = substr $str, 5; my $answer = $n - $m; print <<EOD if $answer eq 33333; $n - $m = $answer EOD }
答えは
41268 - 7935 = 33333 41286 - 7953 = 33333
の2つが出てきました。
解が2つあることにびっくり