|
intValue.pl
#!/usr/local/bin/perl
# (c)copyleft 2017-11-15 : Coded by shun kinoshita / knuhs
#
# 問題(八卷直一さんがFacebook上で提示したもの)
# ?*(?-?/?)=10 の?には一桁の異なる整数が入ります。
#
use strict;
my $count;
# -9から+9までの範囲を調べる
for( my $a=-9; $a<=9; $a++ )
{ for( my $b=-9; $b<=9; $b++ )
{ # $a との重複を避ける
next if $a==$b ;
for( my $c=-9; $c<=9; $c++ )
{ # $a,$b との重複を避ける
next if $a==$c | $b==$c ;
for( my $d=-9; $d<=9; $d++ )
{ # $a,$b,$c との重複を避ける。ゼロの割り算を回避する
next if $a==$d | $b==$d | $c==$d | $d==0 ;
# 式の値を求める
my $value = $a * ( $b - $c / $d );
# 値が10以外のものは除く
next if $value!=10 ;
# カウントアップ
$count++;
# 値が10になるものを表示する
print "[$count]:($a)*(($b)-($c)/($d)) = $value\n";
}
}
}
}
# 式が成立する場合の総数を表示する
print "Total counts = $count\n";
exit;
|
![](/cgi-bin/user/skinoshita/Count.cgi?df=cp06.count)
|
|
|