kdoo

書いてる人: ょゎ
hatena:id:yowa, Twitter/yowa, Gmail:yowaken
«前3日分 最新 次3日分» 追記

2007-11-03 [長年日記]

>> [チラシの裏] 今日の Twitter メモ このエントリを含むはてなブックマーク

  • もうちょい follow してみよう
  • よく良むブログの人とかを追加しよう
  • でも Twitter やってるのか・やってるとして id は何かが分からない
  • それはお互い様だよな
  • うちの日記の目立つところに twitter/yowa を書いとこう
  • バランスよく収まる場所がない(いまここ)

2007-11-02 [長年日記]

>> [穴ゴル] Bronspeak このエントリを含むはてなブックマーク

Zrunspiel:

Shot lerkt shi vurlf-vodi qiliesi ig u mix bryptugrephod rystin dus sixv lissegit. Brecl shi budi unf empliminv xuas iwp angoni!

とのこと。……「とのこと」って!!


とりあえず問題文は読めた。で、読む必要がないことがわかった。


解けた。よかった。

二時間半かかったらしい。

>> [穴ゴル] Sphenic Numbers 締め切り このエントリを含むはてなブックマーク

「約数の数を使う」という基本アイデアはよかったんだけど、考察が足りなかった。


メモ。

Spenic Number は異なる素数 3 つの積として表わされる数だから、 その素数を a, b, c とすると、約数は

1 a b c ab ac bc abc

の 8 個。

ただし約数が 8 個であるのは、

  • abc: (1, a, b, c, ab, ac, bc, abc): Sphenic Number
  • ab^3: (1, a, b, ab, b^2, ab^2, b^3, ab^3)
  • a^7: (1, a, a^2, a^3, a^4, a^5, a^6, a^7)

の 3 パターンがあるので、「約数が 8 個なら Spenic Number」とするわけには いかない。

kinaba さんのコードを見ると、

763.times{|n|p n if(2..n).select{|v|n%v<1&&n%v**3>0}[6]==n}

となっている。

n%v<1&&n%v**3>0  # v が n の約数で、その3乗が n の約数でない

なので、「『n の約数のうち、その3乗が n の約数でないもの』の 数がちょうど 7 個なら表示」となっている。

この条件で上記の 3 パターンを調べると

  • abc: 7個 (a, b, c, ab, ac, bc, abc)
  • ab^3: 6個 (a, ab, b^2, ab^2, b^3, ab^3)
  • a^7: 5個 (a^3, a^4, a^5, a^6, a^7)

のように他の 2 パターンは排除できている……のだが、今度は

  • a^10: (a^4, a^5, a^6, a^7, a^8, a^9, a^10)

というパターンが混入してしまう*1

ただ、今回の課題は「Sphenic Number を小さい方から 100 個出力」で、 その最大値は 762 。一方 a^10 の最小値は 1024 (= 2^10) なので、 課題の範囲内で a^10 が混入してしまうことはない。

よって、上に引用したコードは pass する、と。


オレの

763.times{|n|(1..n).select{|d|n*n%d<-2[n%9*(n%4)]}[13]==n&&p(n)}
 ↓ # kinaba さんのに合わせて書き換え
763.times{|n|p n if(2..n).select{|d|n*n%d<-2[n%9*(n%4)]}[12]==n}

は、てきとーに試してみた

763.times{|n|p n if(2..n).select{|d|n*n%d<1}[12]==n}

「n^2 の約数のうち n より小さいものの数」が使えそうだったから 混入物を弾いたという話。なんでうまくいってるのか分からないので 説明とかはできません。

>> [チラシの裏] 「同じ長さなら辞書順で早い方が勝ち」とかどうだろう このエントリを含むはてなブックマーク

ゴルフ的には邪道だろうし、局所最適化に走りがちになりそうだけど。

*1 a と b を使うパターンはない


2007-11-01 [長年日記]

>> [チラシの裏] 日記のネタ このエントリを含むはてなブックマーク

最近の日記は穴ゴルネタばかりだ。

他のネタも書こうと思うけど、穴ゴルネタばかりすぎて、 今まではどんな感じのネタを日記に書いていたのかを忘れてしまっている。

そんな時は過去の日記を見れば良い、ということで長年日記を見てみる。

一年前の今ごろは、CodeGolf まっさかりでした。


«前3日分 最新 次3日分» 追記
2005|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|09|
2010|01|02|03|04|06|07|

最近のコメント

あわせて読みたい