読者です 読者をやめる 読者になる 読者になる

around サブカル ch 

〜コミュニケ/サブカル/音楽/会社人生などを語るをしてみんとして〜

校内写生って漫画があったなぁと


#make_comb([1,3,4],2) → [1,3],[1,4],[3,4]
#make_comb([1,2,3,4],2)→[1,2],[1,3],[1,4]・・
#make_commb([1,2,3,4,5],3)→[1,2,3]・・[2,4,5]

def make_comb(array,num)
	# [2,3] → [[2][3]]
	#
	result ||= []
	if num == 1
		array.each do |elem|
			result << [elem]		
		end
	end
	# 2 [3,4,5]→[3,4],[3,5],[4,5]
	_size = array.size
	array.each_with_index do |elem,i|
		make_comb(array[i+1.._size],num-1).each do |rest_comb_array|
			#p elem,rest_comb_array
			result << [elem] + rest_comb_array
			#[[2,3,4] << [2] +[3,4]
		end
	end
	result 
end
p make_comb([2,3],1)
p make_comb([2,3,4],2)
p make_comb([3,4,5,6],3)
p make_comb([2,3,4,5,6],3).size #10

昔5,6時間書くのに(カクのにではない)かかったので、再度挑戦、配列を取り出すプログラム
20分ぐらいかな?
適当に書いたので、今度書いたら(カイたらではない)何分かかるかは風のみぞ知る。