c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programmingに分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡

音樂はSoundCloud等バラバラの場所に公開中です。申し訳ないがlinkをたどるなどして探してください。

考察は現在は主に此のblogで公表中です。

programmingは、ひろくみせるものはGitHubで、個人的なものはBitBucketで開発中です。

c4se

trickyじゃないgolfでもない短いMöbius関数をRubyで

短いcodeが好ければどうぞ。trickyじゃないcode golfでもない短いMobius函數 (メビウス関数) です。

# encoding=utf-8
# license: Public Domain

def mobius n
  (2 .. n).reduce(1) do |current, prime|
    if n % prime == 0
      current = -current
      n /= prime
    end
    break current if n == 1
    break 0 if n % prime == 0
    current
  end
end

p mobius(3 * 19 * 19 * 23) == 0
p mobius(3 * 19 * 23) == -1
p mobius(3 * 19 * 23 * 151) == 1

cf. Elixir (とJavaScriptRuby) でMöbius関数を実装した http://c4se.hatenablog.com/entry/2013/07/12/210747
cf. Haskell (とElixir) でもMöbius関数を実装した http://c4se.hatenablog.com/entry/2013/07/14/185745