パーソナルブログメモリ

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

マインスイーパーの問題を作る問題に問題があった話

2022-03-28 | 2日でPython3

 

問題文がこちら、google翻訳だと意味がよくわからない

 

XYのランダムでの取得方法が答えとなかなか合わない。

しかたがないので解答から逆算して表示して1つずつ

照らし合わせても合わない。

とうとう奥の手として出題者のC++の解答例から

確認してみるが作り方はあっていそう。

 

ふとみるとこの問題、ディスカッションが非常に多い

コメント54件。

 

読んでいると乱数生成で使用しているC++言語の型が

32ビット以上で桁あふれをおこして小さな値に途中から

置き換わってしまいずれるらしい。8行目のような生成方法

にしないとダメらしい。

 

他の言語の桁あふれバグを実装にいれなければならない

とは、厳しい。

 

よく読むと問題文に書いてはある


最新の画像もっと見る

コメントを投稿

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