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

Project Euler 725

https://projecteuler.net/problem=725259着。問題はを求めよでしたが、がPyPyで10秒以内でした。

Project Euler 723

https://projecteuler.net/problem=723120着。この問題は面白いです。 高速化がドンドン進んで、PyPyで4msecになりました。 工夫すればもっと速くなると思います。

Project Euler 719

https://projecteuler.net/problem=719481着。Problem 704以来の自作問題です。 去年の10月に提案しました。 特に工夫しなくても解けてしまいます。

Microsoft Solitaire Collection

Windowsユーザにはおなじみのゲームかと思うが、この中にイベントというのがあって、大勢が24時間以内に一斉に行ってスコアとタイムを競う。 これに初めてちゃんと参加したところ59万人中で25位だった。本当だろうか。 全ての面をクリアすると、最終的にはタ…

RustでProject Euler (6)

Problem 4 https://projecteuler.net/problem=4PriorityQueueを使うと速いのですが、ここでは、3桁同士の掛け算を全て配列に入れて、降順に並べて、palindromeを探します。 Vec VecはC++のstd::vectorに相当するものです。空の配列を作って、 let mut a: Vec<i32></i32>…

Project Euler 704

https://projecteuler.net/problem=704219着。Problem 701以来の自作問題です。 単純に2の個数がどうなるか知りたくて作った問題です。

RustでProject Euler (5)

Problem 3 https://projecteuler.net/problem=3 関数の返り値の型 こんな感じですね。 fn max_prime(m: i64) -> i64 { ... } これも後ろに書くんですね。 use std::env; fn main() { let args: Vec<String> = env::args().collect(); let n: i64 = args[1].parse().u</string>…

RustでProject Euler (4)

Problem 2 https://projecteuler.net/problem=2 Iterator Pythonならこのようなgeneratorを作りたいかもしれません。 def fibs(): a, b = 0, 1 while True: yield b a, b = b, a+b Rustでは今のところこのような書き方はできないようです。 (Rustはバージョ…

RustでProject Euler (3)

Problem 1 https://projecteuler.net/problem=1 メソッドチェーン この問題は、Pythonならこんな風に書きたいところでしょう。 import sys n = int(sys.argv[1]) s = sum(i for i in range(1, n) if i%3 == 0 or i%5 == 0) print(s) Rustではこういう書き方…

RustでProject Euler (2)

Problem 1 https://projecteuler.net/problem=1 引数 当然1000は固定でなく、引数で指定したいですよね。そのようにコードを変更してみました。 use std::env; fn main() { let args: Vec<String> = env::args().collect(); let n: i64 = args[1].parse().unwrap(); </string>…

RustでProject Euler (1)

いま流行りのRustの勉強のために、RustでProject Eulerを解いていきます。Rustはそんなに簡単ではないです。 install Windows 10のUbuntuに入れます。 ここを参考にしました。 https://doc.rust-jp.rs/book/second-edition/ch01-01-installation.html $ rust…

Project Euler 701

103着。 Problem 678以来の自作問題です。 解くだけなら簡単です。 ただ、10秒程度にするのは面倒。projecteuler.net

Project Euler 700

267着。projecteuler.net記念すべき700問目。 これは易しいが面白い。思いもかけない解法だった。

Project Euler 673

226着。この問題の"Beds and Desks"というタイトルは自分が付けた。 呼び名が無いと不便なので仮に付けたタイトルだったが、それがそのまま使われてしまった。projecteuler.net