bonotakeの日記

元・ソフトウェア工学系研究者、今・AI系エンジニア

トラックバック

 [1..100]>>=pen 『g rs = foldl (¥n (op, R v) -> op n v) 0 $ zip (cycle [(+),(-)]) rs
なんてどうでしょう。』
bonotake 『おおっ。いいですね。
実は最初、そういう感じのコードを思いつきで書いて、でもなんか動かなかったので上のように平たく書き直したのでした。(←ここいらへんが非ハッカーたる所以…)』
bonotake 『[1..100]>>=pen さんの関数ベースで、7の倍数判定用関数も作ってみました↓
g rs = foldl (¥n (op, a, R v) -> op n (a*v)) 0 $ zip3 (cycle $ ps ++ ms) (cycle [1,3,2]) rs
 where ps = replicate 3 (+)
    ms = replicate 3 (-)

たぶん、これでquickCheckしたら通ると思います。
c :: [Rank] -> Bool
c l = (f l `mod` 7 == 0) == (g l `mod` 7 == 0)』
[1..100]>>= 『11の倍数判定法を知ったとき(小学校高学年か中学校頃でしょうか)に
やはり今回の7の倍数判定法を考えましたが今までそれを一回も使った
ことがありません(笑)。インドの人ならどうでしょう。』
bonotake 『私もリアルで使ったことはないです(笑)
インドの人なら、何も考えずに、何桁でも暗算で剰余計算しちゃうんじゃ…
天竺の人はどうでしょう。はて。』
注:bonotakeは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。