Hatena::Groupbkc

はこべにっき@bkc RSSフィード

2009-03-08

和がnになるm数の組み合わせを求める

16:29 | 和がnになるm数の組み合わせを求める - はこべにっき@bkc を含むブックマーク はてなブックマーク - 和がnになるm数の組み合わせを求める - はこべにっき@bkc 和がnになるm数の組み合わせを求める - はこべにっき@bkc のブックマークコメント

from

2数の和なので片方がわかれば,もう片方もわかる.

def cmb2(n)                                                    
  (0..n).map {|i| [i, n - i]}                                  
end

(0..3).each do |n|                                             
  p cmb2(n)                                                    
end 

一般化して,2数以上の和に対応できるようにした.例では4つの数に分けてる.

はじめとりあえず,2つにわけて,わけたりなければ片方をさらに2つにわけて…みたいなことを再帰でやってる.ちゃんと考えてないけどオーダーはn^2ではすんでない感じがする.

def cmb(n, m)
  return n if m <= 1

  pairs = (0..n).map {|i| [i, n - i]} # 上のcmb2といっしょ
  return pairs if m == 2

  result = []
  pairs.each do |pair|
    cmb(pair[1], m - 1).map do |second|
      result.push( [pair[0]] + second )
    end
  end
  result
end

(3..6).each do |n|
  puts n
  p cmb(n, 4)
end
3
[[0, 0, 0, 3], [0, 0, 1, 2], [0, 0, 2, 1], [0, 0, 3, 0], [0, 1, 0, 2], [0, 1, 1, 1], [0, 1, 2, 0], [0, 2, 0, 1], [0, 2, 1, 0], [0, 3, 0, 0], [1, 0, 0, 2], [1, 0, 1, 1], [1, 0, 2, 0], [1, 1, 0, 1], [1, 1, 1, 0], [1, 2, 0, 0], [2, 0, 0, 1], [2, 0, 1, 0], [2, 1, 0, 0], [3, 0, 0, 0]]

6とかは量が爆発してるので略.重複を消すにはSetが良さそう.

追記

重複を消す && 和に0を含めないようした.全部計算してから,不要なのを取り除いてる.こういうのは遅延評価ができるHaskellが得意そう.

require 'set'

def _cmb(n, m)
  return n if m <= 1

  pairs = (0..n).map {|i| [i, n - i]}
  return pairs if m == 2

  result = []
  pairs.each do |pair|
    _cmb(pair[1], m - 1).map do |second|
      result.push( [pair[0]] + second )
    end
  end
  result
end

def cmb(n,m)
  results = Set.new
  _cmb(n,m).each do |c|
    result = c.sort.select {|i| i > 0}
    results.add(result) if result.size == m
  end
  results.to_a
end

(0..10).each do |n|
  puts n
  p cmb(n, 4)
end
0
[]
1
[]
2
[]
3
[]
4
[[1, 1, 1, 1]]
5
[[1, 1, 1, 2]]
6
[[1, 1, 2, 2], [1, 1, 1, 3]]
7
[[1, 2, 2, 2], [1, 1, 2, 3], [1, 1, 1, 4]]
8
[[1, 1, 1, 5], [2, 2, 2, 2], [1, 1, 3, 3], [1, 2, 2, 3], [1, 1, 2, 4]]
9
[[1, 2, 2, 4], [2, 2, 2, 3], [1, 2, 3, 3], [1, 1, 3, 4], [1, 1, 1, 6], [1, 1, 2, 5]]
10
[[1, 3, 3, 3], [1, 2, 2, 5], [1, 1, 4, 4], [1, 1, 3, 5], [1, 1, 1, 7], [2, 2, 2, 4], [1, 1, 2, 6], [2, 2, 3, 3], [1, 2, 3, 4]]

MichahieseMichahiese2017/05/10 22:14Generic isotretinoin drugs by money order overseas no rx Buy Kamagra Online Ireland Propecia Gegen Korperbehaarung Buy Generic Zithromax 24 Pharmacy Canadian <a href=http://byuvaigranonile.com>viagra</a> Cephalexin Generation Cephalosporin Symptomatiques. Cialis Lilly Rezeptfrei Canada Drugstore Online Secure Worldwide Amoxicilina Internet Price Produit 1

MefeAffeboactMefeAffeboact2017/07/23 04:38http://allocating.one

BriInarneBriInarne2018/02/01 23:15What Do You Use Amoxicillin For Comment Commander Du Viagra <a href=http://cial20mg.com>cialis online</a> Buy Ketotifen Pills Online Can Clamydia Meds Be Bought Online

ShahorsShahors2018/04/27 20:14Tretinoin No Prescription <a href=http://cheapciali.com>cialis</a> Buy Cheap Bupropion 150mg In Usa Buy Cheap Strattera Online Cialis Indicaciones

トラックバック - http://bkc.g.hatena.ne.jp/hakobe932/20090308

2008-12-22

ベーコンをハム化した

17:08 | ベーコンをハム化した - はこべにっき@bkc を含むブックマーク はてなブックマーク - ベーコンをハム化した - はこべにっき@bkc ベーコンをハム化した - はこべにっき@bkc のブックマークコメント

好きなサイトにベーコンをつけられる『Bacolicio.us』 | IDEA*IDEA で紹介されているBacolicio.us ~Mmmm, Bacon~はすばらしいWebサイトだと思いますが,僕はベーコンよりハムが好きなので,ハム化するグリモンを書きました.

http://gist.github.com/raw/38921/05564ec1799aaa6f56cb17856ab1bcc42307ab4f

すてきなハムライフをお楽しみクダサイ.

サンプル

f:id:hakobe932:20081222170622p:image

imcat0514imcat05142009/01/17 13:04ハムやベーコンはほとんど平面なので,
モニタに張り付いてるのかと思って思わず手が伸びますネ!
ハエとか虫系だったらモニタに張り付いてるのかと思ってry

トラックバック - http://bkc.g.hatena.ne.jp/hakobe932/20081222

2008-12-18

wonderfl!!

18:14 | wonderfl!! - はこべにっき@bkc を含むブックマーク はてなブックマーク - wonderfl!! - はこべにっき@bkc wonderfl!! - はこべにっき@bkc のブックマークコメント

12月24日以降の職人技が期待されるっ!

| 16:56 | 12月24日以降の職人技が期待されるっ! - はこべにっき@bkc を含むブックマーク はてなブックマーク - 12月24日以降の職人技が期待されるっ! - はこべにっき@bkc 12月24日以降の職人技が期待されるっ! - はこべにっき@bkc のブックマークコメント

これちょーかっこいいなー.職人の登場がまたれる. < おまえもなんかやれ

トラックバック - http://bkc.g.hatena.ne.jp/hakobe932/20081218

2008-12-11

TexのMakefileとvimの設定

15:09 | TexのMakefileとvimの設定 - はこべにっき@bkc を含むブックマーク はてなブックマーク - TexのMakefileとvimの設定 - はこべにっき@bkc TexのMakefileとvimの設定 - はこべにっき@bkc のブックマークコメント

はやりのOmakeをあえて使わない勇気!*1

卒論のころから使ってるMakefilevimの設定をさらしてみる.これらを組み合わせると,ノーマルモードで,mとするだけで,texがコンパイルされてプレビューで表示されるようになるよ.

Mac OS X 用ですが,ほかを使ってるひとは適宜変更してね!

.vimrc

noremap <unique> ,m :<C-u>make!<CR>

Makefile

PAPER=		main
STYLES=	    m-paper.cls
FIGURES=	figures/*
BIBBLES=	yohei.bib

# The definition of several commands 
TEX=            platex-utf8
PREVIEW=        open -a Preview
PRINT=          lpr
DVIPS=          dvips
DVIPDF=         dvipdfmx
PSSELECT=       psselect
BIBTEX=         jbibtex

# targets 
all: paper paper preview

clean:
	rm -f core *‾ *.dvi *.log *.aux *.blg *.ilg *.wc *.toc *.bbl *.pdf

force: clean all

paper: $(PAPER).pdf

pdf: $(PAPER).pdf
ps: $(PAPER).ps

preview: $(PAPER).pdf
	$(PREVIEW) $(PAPER).pdf

print: $(PAPER).ps
	$(PRINT) $(PAPER).ps

$(PAPER).dvi: $(PAPER).tex $(STYLES) $(FIGURES) $(PAPER).bbl
	$(TEX) $(PAPER).tex
	$(TEX) $(PAPER).tex

$(PAPER).bbl: $(PAPER).aux $(BIBBLES)
	$(BIBTEX) $(PAPER)

$(PAPER).aux: $(PAPER).tex
	$(TEX) $(PAPER).tex

$(PAPER).ps: $(PAPER).dvi
	$(DVIPS) $(PAPER).dvi -o $(PAPER).ps

$(PAPER).pdf: $(PAPER).dvi
	$(DVIPDF) $(PAPER).dvi 

texのコンパイル回数が余計なきもするな…

*1:なんかdvipdfmxにうまくオプションがわたらない…

2008-12-09

もうどうにでもなーれ

02:27 | もうどうにでもなーれ - はこべにっき@bkc を含むブックマーク はてなブックマーク - もうどうにでもなーれ - はこべにっき@bkc もうどうにでもなーれ - はこべにっき@bkc のブックマークコメント



       *'``・* 。
       |     `*。
      ,。∩      *
     + (´・ω・`) *。+゜  もうどうにでもなーれ
     `*。 ヽ、  つ *゜*
      `・+。*・' ゜⊃ +゜
      ☆   ∪~ 。*゜
      `・+。*・ ゜


すみません.がんばります.

わたしとコンピュータ

| 23:13 | わたしとコンピュータ - はこべにっき@bkc を含むブックマーク はてなブックマーク - わたしとコンピュータ - はこべにっき@bkc わたしとコンピュータ - はこべにっき@bkc のブックマークコメント

はてなダイアリー への返信でございますよ.なんとなく振り返りはじめたら異常に量が多くなりました.

将来の自分のためにも良い感じになったので,満足です.

小学生時代

  • 父親がコンピュータを使ってたのでなぜかアップルのLC475が家にあった
  • 父親がコンピュータを使ってたのでWindows3.1がうごくマシンが家にあった
  • 小5くらいのときに一時期インターネットが家に通ってた
  • 小6のころに父親がFMV(Windows95)を買ってきたので,おもちゃにして遊んでた.

中学生時代

  • Windows98がでるかでないのときにGateway2000のG6-300とかいうPentium2 300Mhzのマシンを買ってもらった
  • 窓の杜をおいかけまくってた
    • クターのミニゲームがともだちの間でちょーはやった
  • プロバイダにFTPHTMLをアップロードして遊んでた
    • 「#0055FFは俺の色だな」とか中2な感じだった
  • フリーソフト作者にあこがれてDelphiを無理いって買ってもらったけど,わからんかった
  • Netscape6はダウンロードに30分くらいかかるから電話代100円か…
  • UNIX Magazineがいえにころがってたので,Linuxであそびはじめた
    • 基本的にいろんなディストリをインストールしまくってた
    • makeしたら画面にコンパイルの様子がだーーーってながれてちょー焦った記憶
    • VineLinuxとかDebianを使ってたみたいです
  • 父親がもってたVisualBasicでつくる物理シミュレーションみたいなのをちょっとやってみてた.

高校時代

  • フレッツISDNが使えるようになってラグナロクしほうだいやっほーー!
    • ベータ2になるくらいだったので無料でした
  • VAIO JX10 だったをつかいはじめた(今もたまに使ってる)
  • すぐにフレッツADSLになったので中学の時につかってたG6-300を使ってサーバ建てて友達むけにFTPサーバとかやってた
  • PowerBook G4が手にはいった.ここからマカー
    • Mac系のサイトをウォッチしてたらいつのまにかIRCしてた
  • IRCのボットをサーバにしこんだり,Webサーバとかを建てたりしはじめた.ネットワークのいろんなことはこの辺で勉強した
  • みんなが受験勉強してるなか,そろそろプログラミングするかと思い立ちC言語の本とかJavaの本とかをよんでた.でも読んでただけで何もつくりません.

大学時代

  • 1回生の時は普通に授業でCのプログラムを書いてた
  • 2回生の頃にHow To Become A Hackerを読んで感動した
    • 影響をうけて初めてのPythonを図書館から借りてきて読み始めた
  • Ruby勉強会というのを京都でやってるらしいと聞いたので,ちょくちょく行きつつRubyの勉強をした.
    • ここでおもしろい友達がたくさんできた!かなり重要な体験だった.
    • 言語オタ的なひとが多かったので,影響されていろんな言語を勉強した
  • ついでにせっかくだからPerlも勉強することにしたら,かなりおもしろくて今もつかってます.
  • このころd:id:hakobe932:title=はこべにっき#]を書き始めたので,このあとの雰囲気はブログ読んでかんじとってね!

まとめ

  • とりあえずいろんな事をつまみぐいするのが好きっぽい.あきっぽい.
  • つまみぐいしまくってるうちに何度もとおりすぎたところがちょっとだけ強い気がする

これからもいろいろつまみぐいしまくりながら,楽しくコンピュータとつきあっていこうとおもいます.

トラバテスト: http://d.hatena.ne.jp/imcat0514/20081205/1228480123

DuckyDucky2011/06/06 22:14Kudos to you! I hadn't tghouht of that!

voxksgwvoxksgw2011/06/07 16:49i9z1yi <a href="http://vegbojcshfam.com/">vegbojcshfam</a>

qxfquypitqxfquypit2011/06/08 18:12JkfDPb , [url=http://exwejvkxevfw.com/]exwejvkxevfw[/url], [link=http://qsqzusfceagm.com/]qsqzusfceagm[/link], http://qgihohkzjkpg.com/

jdwzqxdezjdwzqxdez2011/06/10 23:13oJJu4c , [url=http://rzkeiizmukvr.com/]rzkeiizmukvr[/url], [link=http://yuookzivmgxw.com/]yuookzivmgxw[/link], http://kckwrwrgtxji.com/

トラックバック - http://bkc.g.hatena.ne.jp/hakobe932/20081209