2019-01-01から1年間の記事一覧

JuliaでProject Euler(5)

Problem 5 https://projecteuler.net/problem=5Pythonで次のように書く。 from fractions import gcd import sys def lcm(n, m): return n/gcd(n, m)*m def e005(n): return reduce(lcm, range(1, n+1), 1) N = int(sys.argv[1]) print e005(N) これをそのま…

JuliaでProject Euler(4)

Problem 4 https://projecteuler.net/problem=4Pythonで次のように書く。 import sys def digits(n): ds = [] while n > 0: n, r = divmod(n, 10) ds.append(r) return ds def is_palindromic(n): ds = digits(n) L = len(ds) return all(ds[k] == ds[L-k-1]…

JuliaでProject Euler(3)

Problem 3 https://projecteuler.net/problem=3Juliaで次のように書く。 function e003(n) local p = 2 while p*p <= n if n%p == 0 while true n = div(n, p) if n%p != 0 break end end if n == 1 return p else return e003(n) end end p += 1 end return…

JuliaでProject Euler(2)

Problem 2 https://projecteuler.net/problem=2Juliaで次のように書く。 function e002(N) local s = 0 local a = 1 local b = 1 while b <= N if b%2 == 0 s += b end a, b = b, a+b end return s end N = parse(Int, ARGS[1]) println(e002(N)) Pythonのタ…

JuliaでProject Euler(1)

JuliaでProject Euler(1)JuilaというPython対抗っぽい言語があるらしいので試してみる。 PyPyより速いらしい。 準備 ここからGeneric Linux Binaries for x86 64bit をダウンロード。https://julialang.org/downloads/ $ tar xvfz julia-1.1.1-linux-x86_64.…

Project Euler 668

https://projecteuler.net/problem=668236着。 正答者が多いのは、ごり押しが利くからではないだろうか。普通に各自然数の最大の素数を求めるだけで、PyPyでも1時間くらいで済みそうだ。 この問題はよくある方法でふつうの時間で解ける。1010は2.6sec、1011…

Project Euler 666

https://projecteuler.net/problem=666135着。 ややこしく見えるが、なんということもない。 収束も速い。

Problem 667

https://projecteuler.net/problem=667 今朝の時点でまだ30人しか解けていない。 こんなに苦戦する問題ではないはず。 問題文に不具合があって、誤解を生じているのだろうか。

Project Euler 662

https://projecteuler.net/problem=662自作問題です。 すみません、易しすぎてフォーラムで叩かれましたが、擁護する人もいて問題になりました。 それでも、PyPyで1分以内にいれるのは、一筋縄ではいかないです。 工夫すれば10秒程度になるはずです。

Project Euler 655

https://projecteuler.net/problem=655自作問題です。 本当は、回分数の素数を求める問題が作りたかったのですが、うまくいかず、こういう形になりました。

Project Euler 652

https://projecteuler.net/problem=652Problem 645以来の自作問題です。「proto-logarithmic」というよくわからない言葉が使われているのは、となる自然数a, b, c, dが自明なもの(問題文の条件)以外に無いと証明されていないからです。超越数難しい。これ…

Project Euler 647

[プログラミング]Project Euler 647 https://projecteuler.net/problem=647165着。最初見たとき、けっこう計算大変だなと思ったが、問題が上がってからもう一度解いてみたら簡単だった。そして、ふつうに組んでみると、 1012 0.06sec 1014 0.61sec 1016 8.38…