トップ «前の日記(2020-04-22(Wed)) 最新 次の日記(2020-04-26(Sun))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2020-04-25(Sat) OSC見たり見なかったり

ループを一つ消す

覆面算で、和の最高位が繰り上がりであれば、それは「1」になる ことを聞いた。10未満が2つ、なら20未満に決まっている。

SIX + SEVEN + SEVEN = TWENTY の、 「T」のループを消してみた。
すると、

$ time python3 six_seven_seven.py                        
6 5 0 + 6 8 7 8 2 + 6 8 7 8 2 = 1 3 8 2 1 4                                    
 
real    1m33.172s
user    1m33.049s
sys     0m0.008s

10倍近い速度になった。

それにしても、 2年前に (たぶん、もっとましなコードを) 書いていたことを、すっかり忘れていた。

てけとうに高速化を試みて(ifが増えたが)、なんとか前の実装よりも 速くなった、はず。

$ time python3 6+7+7\=20.py 
S I X + S E V E N + S E V E N = T W E N T Y
6 5 0 + 6 8 7 8 2 + 6 8 7 8 2 = 1 3 8 2 1 4
 
real    1m53.115s
user    1m53.018s
sys     0m0.012s
 
$ time python3 six_seven_seven.py 
6 5 0 + 6 8 7 8 2 + 6 8 7 8 2 = 1 3 8 2 1 4
 
real    0m31.120s
user    0m31.089s
sys     0m0.012s
$ time python3 send_more_money.py 
9 5 6 7 + 1 0 8 5 = 1 0 6 5 2
s e n d + m o r e = m o n e y
 
real    0m6.545s
user    0m6.538s
sys     0m0.004s
 
$ time python3 s2.1.py 
  9 5 6 7
+ 1 0 8 5
---------
1 0 6 5 2
 
real    0m3.775s
user    0m3.764s
sys     0m0.008s

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。