algorithm.rs

アルゴリズムの勉強をしたくなったわけですよ。

方針

  • 続く限り続けます。
  • 基本rust使ってます。
  • できたらメモも作ります。
  • exampleも用意します。

コードのドキュメントについて

https://tam1192.github.io/algorithm_rs/rsDoc/algorithm_rs/index.html です。

スタンダードなやつ

とりあえずこのリポジトリの運用方法を定めるために簡単なやつ出しておきます。

数式テスト

$$ 速度[m/s] = \frac {距離[m]} {時間[s]} $$
$$ 距離[m] = {速度[m/s]} \times {時間[s]} $$

数式も用いて説明したい。

fizzbuzz

整数Nが与えれます。 () Nが3の倍数の時はfizzと、 Nが5の倍数の時はbuzzと、 Nが3と5の公倍数の時はfizzbuzzと、 それ以外の時はNを出力してくださいっていうあれ。

実装方法

とりあえずあまりを使って作ります。

数値nを3と5でそれぞれあまりを出し、両方とも0ならfizzbuzz、3側が0ならfizz、5側が0ならbuzzです。 rustではmatchでよしなに処理が可能だったりします。

fn main() {
    // change here!
    let n = 10;
    match (n % 3, n % 5) {
        (0, 0) => println!("fizzbuzz"),
        (0, _) => println!("fizz"),
        (_, 0) => println!("buzz"),
        _ => println!("{}", n),
    }
}

実装結果

ソースコードのドキュメントはこちら enumとstructを使ってみました。 カッコつけたかっただけです。 はい。