パーソナルブログメモリ

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

2022年F#の旅 (CodinGame easyの問題を8問解いたサンプル)

2022-08-27 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい

言語の超空洞を巡りレジェンドをアンロックする旅も今回で終わり

残るClojureはもうやめておこう

 

(1)火星着陸

まだこの頃はF#の恐ろしさに気がついていませんでした

 

(2)ロボットの挙動で最期までの時間を求める

変数を変えられるようにするためには6行目のようなrefが必要で

再代入する時は := その変数を利用する時は変数の前にがいる

まだどこにカッコ ( ) が必須なのかよくわかっていない 10、11、12、13行はたぶん不要

 

(3)千鳥足で歩む

369002歩ほど

ループをブレイクする方法がないそうなので再帰で解決しています

 

(4)神様、パワーの源はこちらでございます

5,6行目()がたりないことになかなか気がつかない

 

(5)三目ならべ

スライスが使えるのはありがたい

S.[0::1] この言語だと0と1を取る あとスライス前の . おそろしい罠である

再帰はさせず、ブレイク状態でスイッチ立ててあとは空回しという策を使い出す

 

(6)カッコでくくれない最初の場所を答える 

よし、この言語わかってきた(数値と文字列)

 

(7)カッコでくくれますかその2

refを使ったものはStringのようでもStringでなくreplaceとか直で使えない

一度別の変数に定義して使い直す(他に方法があるのかもしれない)

 

(8)ダイスが右利きか左利きかそれとも再構成されたもの(ダイスの対面の和が7ですらない)か答える

ここでじごくのようにはまった !は本当に参照しかできず スライスも使えない 仕方がないので別の変数に撤退 13行目

20行目は 0か1の乱数になるようです (0.1)だと正解しなかったため

 

chromeのタブが苦労を物語っています

 

 

記号の使い方がほんの少し違うだけでここまでさまよえるのか ということを実感しました


最新の画像もっと見る

コメントを投稿

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