2020-02-01から1ヶ月間の記事一覧

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問目。 これは易しいが面白い。思いもかけない解法だった。