by
Anonymous Coward
on 2022年10月26日 16時34分
(#4350543)
operator = ["+", "-", "*", "/"] answer = 0 while True:
try:
for o1 in operator:
for o2 in operator:
for o3 in operator:
for o4 in operator:
formula = "6{}4{}5{}2{}1".format(o1, o2, o3, o4)
if answer == eval(formula):
print("{}={}".format(formula, answer))
raise Exception
print("{} not found.....".format(answer))
break
except:
answer += 1
python (スコア:1)
operator = ["+", "-", "*", "/"]
answer = 0
while True:
try:
for o1 in operator:
for o2 in operator:
for o3 in operator:
for o4 in operator:
formula = "6{}4{}5{}2{}1".format(o1, o2, o3, o4)
if answer == eval(formula):
print("{}={}".format(formula, answer))
raise Exception
print("{} not found.....".format(answer))
break
except:
answer += 1
powershell (スコア:1)
$ops='+','-','*','/';$ops|%{$o1=$_;$ops|%{$o2=$_;$ops|%{$o3=$_;$ops|%{$o4=$_;'6{0}4{1}5{2}2{3}1' -f $o1,$o2,$o3,$o4}}}}|%{[pscustomobject]@{expression=$_;answer=(iex $_)}}|?{!($_.answer % 1)}|sort answer
Prolog (スコア:1)
こういうのはPrologが得意なような?
すっかり忘れたけど。
-- う~ん、バッドノウハウ?
Re: (スコア:0)
Prologの学習中なんで書いてみたけど、B-Prologに固有の述語に依存したコードしか書けなかった
main(N) :- N 0, !.
main(N) :-
sub(N, OP1, OP2, OP3, OP4),
format('~d = 6 ~s 4 ~s 5 ~s 2 ~s 1~n', [N, OP1, OP2, OP3, OP4]),
N2 is N - 1,
main(N2).
sub(N, OP1, OP2, OP3, OP4) :-
OPs = [OP1, OP2, OP3, OP4],
OPs in ["+", "-", "*", "/"],
Re: (スコア:0)
カッコ使うのはありなん?
Re: (スコア:0)
なんでスペースを6つにした!言え!
Re: (スコア:0)
この問題に限れば、このコードで正解なんだろうけど、一般の場合にはどうればいいんだろう。
つまり、このコードだと、割り算の結果が浮動小数点の呪いでわずかな誤差になって正解が見つからないという罠がある数字の配置になってるとしたら。
有理数が扱える言語で書くのが正解?
どの組み合わせの割り算をしても、いつでも整数になるように、適当な数を、それぞれの数に掛けておく?
うちはLinuxコマンドライン派どす!! (スコア:0)
これでええんやろか?
for i in 6{+,-,*,/}5{+,-,*,/}4{+,-,*,/}3{+,-,*,/}2{+,-,*,/}1 ; do bc -l $i ; done |grep -F -v '.' | sort -n -u | xargs
-115 -114 -113 -57 -56 -55 -53 -52 -51 -24 -23 -22 -21 -20 -19 -18 -16 -15 -14 -13 -12 -10 -9 -8 -7 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 41 43 44 45 53 54 55 63 64 65 67 68 69 113 114 115 116 118 119 120 121 122 124 125 126 127 357 358 359 361 362 363 719 720 721
0日から45
Re: (スコア:0)
うう、<が消えてもうたわ…
for i in 6{+,-,*,/}5{+,-,*,/}4{+,-,*,/}3{+,-,*,/}2{+,-,*,/}1 ; do bc -l <<< $i ; done |grep -F -v '.' | sort -n -u | xargs
Re: (スコア:0)
【生命、宇宙、そして万物についての究極の疑問の答え】が抜けているではないか。