パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

Rust 3日目

2020-06-01 | Rust 9日坊主

CodinGameでRustを使って過去に3問パズルを解いてシルバーのACHIEVEMENTをもっていました

(まったく覚えていない)

 

これをゴールドにしてみることに あと4問解く必要があります

 

https://www.codingame.com/training/easy/smooth
https://www.codingame.com/training/easy/auto-pickup
https://www.codingame.com/training/easy/create-the-longest-sequence-of-1s
https://www.codingame.com/training/easy/1d-bush-fire

 

夜中に謎のスイッチが入って朝まで

 

プログラムというより、これどうやって解くの?という問題が多かったです

(パズルだから)

 

smoothの説明文がサッパリ理解できなかったので

https://www.codingame.com/contribute/community

から問題を探して、Bashのソース(まったく理解できなかった)を実行して問題を推察して解いたりしてます

 

問題を解いた後 追加したチートシートがこちら

 

なんとかここまで

 

恐る恐るplaygroundをshearにあげてみました

https://github.com/rust-lang/rust/issues/72847

質問コーナーみたいな所にあげたようで、あせってclose

(しかも、少し前のソース)

 

ということでテキストのソースです

(あ?最後セミコロン忘れてるので追加追加 ^ ^ ; )

 

fn main() {
    println!("Hello, world!");
    //文字列の分割
    let action = "a12-b15";
    let mut act = Vec::new();
    act.push(action);
    let te: Vec<&str> = act[0].split('-').collect();
    let a0: String = te[0][..1].to_string();
    let a1: &str = &te[1][..1];
    let n0: i32 = te[0][1..].parse().unwrap();
    let n1: i32 = te[1][1..].parse().unwrap();
    println!("{} {} {} {} {}",act[0], a0, n0, a1, n1);
    println!("{} {} {} {}",a0=="a", a1=="b", act.len(), act[0].len());
    //割り算の余り
    let x = 10;
    println!("{} {} {}", x%2, x/5, x%4);
    //2進数から10進数
    let bit_string = "11110111";
    let mut num = 0;
    for i in 0..bit_string.len(){
        num = num * 2;
        if &bit_string[i..i+1]=="1"{ //&strとString型に注意
            num = num + 1;
        }
    }
    println!("{}->{}", bit_string, num);
    //2,5だけで割り切れる数
    for i in 2..21{
        let mut num1 = i;
        for div in vec![2, 5]{
            while num1 % div == 0{
                num1 = num1 / div;
            }
        }
        if num1 == 1 { println!("{}",i) }
    }
    //文字列のループ
    num = 0;
    let seatch_char = '2';
    for c in "101221112".chars() {
        if c==seatch_char{ num = num + 1; }
    }
    println!("{}", num);
}


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。