¼ø¶È»ñÎÁ/07

Á°²ó¤Î²ÝÂê¤Ë¤Ä¤¤¤Æ

Á°²ó¤Î²ÝÂê¤Ï°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤Ã¤¿¡¥

¹ÔÎó¤È¥Ù¥¯¥È¥ë¤ÎÀÑ¡¤¹ÔÎó¤È¹ÔÎó¤ÎÀѤò·×»»¤¹¤ë´Ø¿ô¤ò¥×¥í¥°¥é¥ß¥ó¥°

  1. ¹ÔÎó¤ÏÀµÊý¹ÔÎó¤Î¤ß°·¤¦¤È¤·¤Æ¤ª¤¯
  2. ¼¡¸µ¤Î°ã¤¤¤Î¥Á¥§¥Ã¥¯¤Ï¤·¤Ê¤¯¤Æ¤â¤è¤¤(¤â¤Á¤í¤ó¤·¤Æ¤â¤è¤¤)
  3. (¾åµé¼Ô¸þ¤±)¾å¤ÇÄêµÁ¤·¤¿ inner_product ´Ø¿ô¤òÍѤ¤¤Æ¼ÂÁõ¤¹¤ë

¤½¤·¤Æ¡¤4 x 4 ¤Î¹ÔÎó¤òŬÅö¤ËÆó¤Ä¡¤4¼¡¸µ¥Ù¥¯¥È¥ë¤òŬÅö¤Ë°ì¤ÄÍÑ°Õ¤·¤Æ¡¤¤½¤ì¤é¤ËÂФ·¤ÆÀѤη׻»¤¬¤¦¤Þ¤¯¤¤¤¯¤³¤È¤ò³Îǧ¤»¤è¡¥

warning.png ¤³¤Îʸ¾Ï¤òÆɤà¸Â¤ê °ìÈ̤Πn x n ¹ÔÎó¤ò°·¤¨¤Ê¤¤¤È¤¤¤±¤Ê¤¤ (4 x 4 ¤Ï¤¢¤¯¤Þ¤Ç¤­¤Á¤ó¤ÈÆ°¤¯¤³¤È¤Î³ÎǧÍÑ) ¤Î¤Ç¡¤¤½¤ì¤òǰƬ¤Ë¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ¤¤¤³¤¦¡¥
warning.png ¤À¤«¤é¡¤¾ò·ï¤òËþ¤¿¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç 4 x 4 ¹ÔÎóÀìÍÑ¤Î¥×¥í¥°¥é¥à¤Ï¼º³Ê ¤Ç¤¢¤ë¡¥»ÄÇ°¤À¤±¤É¤Í¡¥


Á´Âι½Â¤¤ò¹Í¤¨¤ë

¤¤¤Ä¤â¤Î¤è¤¦¤ËÁ´Âι½Â¤¤ò¹Í¤¨¤ë¡¥
´ðËÜŪ¤Êµ¡Ç½¤È¤·¤Æ¹ÔÎóƱ»Î¤ÎÀѤȹÔÎó¤È¥Ù¥¯¥È¥ë¤ÎÀѤÎÆó¤Ä¤¬É¬Íפǡ¤ÎãÂê¤È¤·¤Æ¤½¤ì¤ò¥Ç¥â¥ó¥¹¥È¥ì¡¼¥·¥ç¥ó¤¹¤ëËÜʸ¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¤¤Þ¤º¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥ ¤¿¤À¤·¡¤ºÇ½é¤«¤é 4 x 4 ¹ÔÎó¤ò°·¤¦¤Î¤ÏÌÌÅݤʤΤǡ¤¤Þ¤º¤Ï 2 x 2 ¹ÔÎó¤Ê¤É¤Î¡Ö°ìÈÖ¾®¤µ¤ÊÌäÂê¡×¤Ç»î¤¹¤è¤¦¤Ë½ñ¤¤¤Æ¤ª¤¯¡¥

include Math

# ¹ÔÎóƱ»Î¤ÎÀÑ: ¹ÔÎóÆó¤Ä¤¬°ú¿ô
def mtx_product_mtx(m_a, m_b)
  # ½ÐÎϤϹÔÎ󡥡֤Ȥꤢ¤¨¤ºÆ°¤¯¤è¤¦¤Ë¡×ºÇ½é¤Î°ú¿ô¤òÊÖ¤·¤Æ¤ª¤¯¡¥
  return m_a
end

# ¹ÔÎó¤È¥Ù¥¯¥È¥ë¤ÎÀÑ: ¹ÔÎó¤È¥Ù¥¯¥È¥ë¤¬°ú¿ô
def mtx_product_vec(m_a, v_x)
  # ½ÐÎϤϥ٥¯¥È¥ë¡¥¡Ö¤È¤ê¤¢¤¨¤ºÆ°¤¯¤è¤¦¤Ë¡×°ú¿ô¥Ù¥¯¥È¥ë¤òÊÖ¤·¤Æ¤ª¤¯¡¥
  return v_x
end

# ¹ÔÎó¤ò¿Í´ÖÍѤ˽ÐÎϤ¹¤ë
def print_mtx(m_a)
end

# ¥Ù¥¯¥È¥ë¤ò¿Í´ÖÍѤ˽ÐÎϤ¹¤ë
def print_vec(v_x)
end

# °Ê²¼¡¤¥×¥í¥°¥é¥àËÜÂÎ

# ¥µ¥ó¥×¥ë¤Î 2 x 2 ÌäÂêÍѥǡ¼¥¿
a = [[1,2],
     [3,4]]

b = [[5,6],
     [7,8]]

x = [10,11]

# ¹ÔÎóƱ»Î¤ÎÀѤò·×»»
c = mtx_product_mtx(a,b)

# ¹ÔÎó¤È¥Ù¥¯¥È¥ë¤ÎÀѤò·×»»
y = mtx_product_vec(a,x)

# ²èÌ̤˽ÐÎÏ
print_mtx(c)
print_vec(y)


µ¡Ç½¤òÁý¤ä¤·¤Æ¤¤¤¯: ·ë²Ì¤ò¤¹¤°¥Á¥§¥Ã¥¯¤Ç¤­¤ë¤è¤¦¤Ë¡¤É½¼¨µ¡Ç½¤òÀè¤Ë¼ÂÁõ¤·¤Æ¤ß¤ë

º£²ó¤Î²ÝÂê¤Ï¹ÔÎó¤Îź»ú¤Î¥º¥ì¤Ê¤É¤Î¤¢¤Á¤³¤Á¤Ë´Ö°ã¤¤¤¬È¯À¸¤·¤ä¤¹¤¤¡¥¤½¤ì¤òºÇ¾®¸Â¤ËÍÞ¤¨¤ë¤¿¤á¤Ë¤âɽ¼¨µ¡Ç½¤¬Áá¤á¤Ë¼ÂÁõ¤µ¤ì¤ë¤È³Ú¤¬½ÐÍ褽¤¦¤À¡¥¤½¤³¤Ç¡¤print_ ´Ø¿ô¤òÀè¤Ë¼ÂÁõ¤·¤è¤¦¡¥
¤Þ¤º¤Ï¡¤¥Ù¥¯¥È¥ë¤Îɽ¼¨¤«¤é¼ê¤òÉÕ¤±¤ë¤Î¤¬´Êñ¤À¤í¤¦¡¥Î㤨¤Ð°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥

def print_vec(v_x)
  print("[ ")
  for i in 1..v_x.size do
    print(v_x[i-1]," ")
  end
  print("]\n")
end

¤³¤Î´Ø¿ô¤¬¤Ç¤­¤ì¤Ð¡¤¹ÔÎó¤Îɽ¼¨¤Ë¤Ï¤³¤ì¤òÍøÍѤ¹¤ë¤Î¤¬¿¿¤ÃÅö¤Ê¿Í´Ö¤Î»×¹Í¤È¤¤¤¦¤â¤Î¤À¡¥°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥

def print_mtx(m_a)
  for i in 1..m_a.size do
    print_vec(m_a[i-1])
  end
end

¤³¤ÎÎã¤Ç¤Ï print_vec ´Ø¿ô¤ò»È¤¨¤Ð print_mtx ´Ø¿ô¤Ç¤Ï¤Û¤È¤ó¤ÉÄã¥ì¥Ù¥ë¤Î¼ÂÁõ¤ò¤·¤Ê¤¯¤ÆÎɤ¤¡¥

warning.png¤³¤Î¤è¤¦¤Ë¡¤¡Ö´û¤Ë¥×¥í¥°¥é¥à¤·¤Æ¤¢¤ë¤³¤È¤òÍøÍѤ·¤Æ¥×¥í¥°¥é¥à¤¹¤ë¡×¤³¤È¤ÏÈó¾ï¤Ë½ÅÍפǤ¢¤ë¡¥ ¤Ê¤¼¤Ê¤é¡¤

  1. Ʊ¤¸¤è¤¦¤Ê¤³¤È¤ò²¿ÅÙ¤â½ñ¤«¤Ê¤¯¤ÆÎɤ¤¤Î¤Ç¡¤¥ß¥¹¤¬Æþ¤ê¹þ¤à³ÎΨ¤¬²¼¤¬¤ë
  2. ½¤Àµ¤¹¤ë»þ¤Ë¡¤½¤Àµ²Õ½ê¤¬É¬Í׺Ǿ®¸Â¤ÇºÑ¤à
  3. ¥×¥í¥°¥é¥à¤ÎÃê¾ÝÅÙ¤¬¾å¤¬¤ê¡¤¤è¤ê¤­¤Á¤ó¤È¤·¤¿¤â¤Î¤Ë¤Ê¤ë²ÄǽÀ­¤¬¹â¤Þ¤ë

¤«¤é¤Ç¤¢¤ë(Don't Repeat Yourself = DRY ¸¶Â§¤Ë¶á¤¤¤«)¡¥¤Þ¤¢´Êñ¤Ë¸À¤¨¤Ð¡¤

¥×¥í¥°¥é¥à¤Ç¤ÏƱÅù¤Î½èÍý¤ò½ÅÊ£¤·¤Æ½ñ¤¯¤³¤È¤Ï¡Ö°­¡×

¤À¤È»×¤¨¤ÐÎɤ¤¡¥


µ¡Ç½¤òÁý¤ä¤·¤Æ¤¤¤¯: ¹ÔÎó¤È¥Ù¥¯¥È¥ë¤ÎÀÑ

¼¡¤Ë´Êñ¤Ê¤Î¤Ï¡¤¹ÔÎó¤È¥Ù¥¯¥È¥ë¤ÎÀѤμÂÁõ¤À¤í¤¦¡¥¤³¤ì¤ÏÆâÀѤò»È¤¦¤è¤¦¤Ë¤¹¤ì¤Ð´Êñ¤À¡¥
¤¿¤À¡¤·è¤á¤é¤ì¤¿¼¡¸µ¤Î¥Ù¥¯¥È¥ë¤Î¡Ö¤Ò¤Ê¤¬¤¿¡×¤òÍÑ°Õ¤¹¤ëÊýË¡¤¬¤ï¤«¤é¤Ê¤¤¤È¤¤¤¦¾ì¹ç¤â¤¢¤ë¤À¤í¤¦¤«¤é¡¤¤½¤³¤ò´Ø¿ô¤È¤·¤Æ¡Ö¤È¤ê¤¢¤¨¤º¸å¤Ç¹Í¤¨¤ë¡×¤è¤¦¤Ë¤¹¤ì¤Ð¡¤¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥
warning.png ¿Í´Ö¤ÎǾ¤ß¤½¤Ï¤¢¤ëÄøÅٰʾå¤ÎÊ£»¨¤µ¤ËÂнè¤Ç¤­¤Ê¤¤¤Î¤Ç¡¤¤³¤Î¤è¤¦¤Ë¡Ö¸å¤Ç¹Í¤¨¤ëÉôʬ¤òʬΥ¤¹¤ëǽÎϡפÏÈó¾ï¤Ë½ÅÍפÀ¡¥µÞ¤¤¤Ç¿È¤Ë¤Ä¤±¤è¤¦¡¥
¤³¤ì¤â¶¯Ä´¤·¤Æ¤ª¤³¤¦¡¥

Æñ¤·¤¤Éôʬ¤Ï´Ø¿ô¤Ë¤·¤ÆÄɤ¤½Ð¤·¤Æ¡Ö¸å¤Ç¹Í¤¨¤ë¡×¤Ù¤·

Ç¡²¿¤ËÊ£»¨¤µ¤òʬ²ò¤¹¤ë¤«¤¬¥×¥í¥°¥é¥ß¥ó¥°¤Î¡Ö¥­¥â¡×¤Ç¤¢¤ë¡¥

# ¥Ù¥¯¥È¥ë¤ÎÆâÀÑ¡¥Á°²ó¤Î¥³¥Ô¡¼
def inner_product(v_a, v_b)
  sum = 0.0
  for i in 1..v_a.size do
    sum += v_a[i-1]*v_b[i-1]
  end
  return sum
end

# n ¼¡¸µ¥Ù¥¯¥È¥ë¤òºî¤ë
def make_vec(n)
  # ¤µ¤¢¤É¤¦¤¹¤ë?
end

# ¹ÔÎó¤È¥Ù¥¯¥È¥ë¤ÎÀÑ: ¹ÔÎó¤È¥Ù¥¯¥È¥ë¤¬°ú¿ô
def mtx_product_vec(m_a, v_x)
  v_y = make_vec(m_a.size)

  for i in 1..m_a.size do
    v_y[i-1] = inner_product(m_a[i-1], v_x)
  end

  return v_y
end

¤½¤·¤Æ¡¤·è¤á¤é¤ì¤¿¼¡¸µ¤Î¥Ù¥¯¥È¥ë¤Î¡Ö¤Ò¤Ê¤¬¤¿¡×¤òÍÑ°Õ¤¹¤ë´Ø¿ô make_vec ¤Ï¤³¤ì¤Þ¤Ç¤ÎÃ챤À¤±¤«¤éºî¤ë¤Ê¤é¤Ð°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥

# n ¼¡¸µ¥Ù¥¯¥È¥ë¤òºî¤ë
def make_vec(n)
  # ¤Þ¤ºÍ×ÁǤ¬¤Ò¤È¤Ä¤â¤Ê¤¤¡Ö¶õ½¸¹ç¡×¤òºî¤ë¡¥
  a = []
  # Í×ÁÇ 0.0 ¤ò n¸ÄÄɲ乤롥
  n.times { a.push(0.0) }
  # ½ÐÎÏ
  return a
end

warning.png (¾åµé¼Ô¸þ¤±) Ruby ¤Îµ¡Ç½¤ò¤­¤Á¤ó¤È»È¤Ã¤Æ½ñ¤¯¤Ê¤é¤Ð

# n ¼¡¸µ¥Ù¥¯¥È¥ë¤òºî¤ë
def make_vec(n)
  return Array.new(n){0.0}
end

¤È¤¤¤¦´¶¤¸¤Ë¤Ê¤ë¤À¤í¤¦¡¥

¤µ¤Æ¡¤¤³¤¦¤¹¤ë¤³¤È¤Ç¹ÔÎó¤È¥Ù¥¯¥È¥ë¤ÎÀѤϤ­¤Á¤ó¤È·×»»¤Ç¤­¤ë¤Ï¤º¤Ç¤¢¤ë¤«¤é¡¤¼ÂºÝ¤ËÆ°¤«¤·¤Æ¤ß¤ë¤È¡¤

[ 1 2 ]

[ 3 4 ]

[ 32.0 74.0 ]

¤È¤¤¤¦½ÐÎϤ¬ÆÀ¤é¤ì¡¤³Î¤«¤Ë 2 x 2 ¹ÔÎó¤È¥Ù¥¯¥È¥ë¤ÎÀѤ¬·×»»¤µ¤ì¤Æ¤¤¤ë¤³¤È¤¬³Îǧ¤Ç¤­¤ë¡¥


µ¡Ç½¤òÁý¤ä¤·¤Æ¤¤¤¯: ¹ÔÎó¤È¹ÔÎó¤ÎÀÑ

¤µ¤Æ¡¤ºÇ¸å¤Ï¹ÔÎó¤È¹ÔÎó¤ÎÀѤǤ¢¤ë¡¥¤³¤ì¤â¡¤¹ÔÎó¤ò¥Ù¥¯¥È¥ë¤Î½¸¤Þ¤ê¤È»×¤¨¤ÐÆñ¤·¤¯¤Ê¤¤¡¥
¤¢¤È¤Ï¡¤¹ÔÎ󤫤é¹Ô¥Ù¥¯¥È¥ë¡¤Îó¥Ù¥¯¥È¥ë¤òÈ´¤­½Ð¤¹Áàºî¤ò¤·¤Ã¤«¤ê¹Ô¤¨¤ì¤Ð¡¤ÆâÀѤ¬»È¤¨¤ë¡¥
¤À¤«¤é¡¤Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥

# Îó¥Ù¥¯¥È¥ë¤òÈ´¤­½Ð¤¹
def col_vec(m_a, k)
  v_y = make_vec(m_a.size)
  # ¶ñÂÎŪ¤Êµ¡Ç½¤Ï¤¢¤È¤Ç¼ÂÁõ¤¹¤ë
  return v_y
end

# n x m ¹ÔÎó¤òºî¤ë
def make_mtx(n,m)
  # ¤µ¤¢¤É¤¦¤¹¤ë?
end

# ¹ÔÎóƱ»Î¤ÎÀÑ: ¹ÔÎóÆó¤Ä¤¬°ú¿ô
def mtx_product_mtx(m_a, m_b)
  m_c = make_mtx(m_a.size,m_a.size)

  # ÆâÀѤò»È¤¨¤Ð¡¤¤¢¤È¤Ï¿ô³Ø¤ÎÄêµÁÄ̤ꡥ
  for i in 1..m_a.size do
    for j in 1..m_a.size do
      m_c[i-1][j-1] = inner_product(m_a[i-1],col_vec(m_b,j))
    end
  end

  return m_c
end

¤Ç¡¤¤³¤³¤ÇɬÍפˤʤä¿Æó¤Ä¤Î´Ø¿ô¤Îµ¡Ç½¤ò¼ÂÁõ¤¹¤ë¡¥
¤Þ¤º¤Ï¡Ö¹ÔÎ󤫤éÎó¥Ù¥¯¥È¥ë¤òÈ´¤­½Ð¤¹¡×µ¡Ç½¤À¤¬¡¤¤³¤ì¤Ï´Êñ¤Ç¡¤¼¡¤Î¤è¤¦¤Ë¤¹¤ì¤ÐÎɤ¤¡¥

def col_vec(m_a, k)
  v_y = make_vec(m_a.size)

  for i in 1..m_a.size do
    v_y[i-1] = m_a[i-1][k-1]
  end

  return v_y
end

»Ä¤Ã¤¿¡Ö¹ÔÎó¤Î¤Ò¤Ê¤¬¤¿¤òºî¤ë¡×µ¡Ç½¤Ï¡¤¥Ù¥¯¥È¥ë¤òºî¤ëµ¡Ç½¤ò»È¤Ã¤Æ

  1. # n x m ¹ÔÎó¤òºî¤ë
  2. def make_mtx(n,m)
  3.   a = []
  4.   n.times { a.push( make_vec(m) ) }
  5.   return a
  6. end

¤È¤¹¤ì¤Ð¤è¤¤¡¥´Êñ¤¹¤®¤ÆÇϼ¯¤Ë¤µ¤ì¤Æ¤¤¤ëµ¤Ê¬¤âÍ­¤ë¤«¤â¤·¤ì¤Ê¤¤¤±¤ì¤É¤â¡¥
warning.png (¾åµé¼Ô¸þ¤±) Ruby ¤Îµ¡Ç½¤ò¤­¤Á¤ó¤È»È¤Ã¤Æ½ñ¤¯¤Ê¤é¤Ð

# n x m ¹ÔÎó¤òºî¤ë
def make_mtx(n,m)
  return Array.new(n){ Array.new(m){0.0} }
end

¤È¤¤¤¦´¶¤¸¤Ë¤Ê¤ë¤À¤í¤¦¡¥

¤µ¤Æ¡¤¤³¤ì¤Ç¤³¤Îµ¡Ç½¤â´°À®¤·¤¿¡¥»î¤·¤ËÆ°¤«¤·¤Æ¤ß¤ë¤È¡¤

[ 19.0 22.0 ]

[ 43.0 50.0 ]

[ 32.0 74.0 ]

¤È¤Ê¤ê¡¤³Î¤«¤ËÀµ¤·¤¯Æ°¤¤¤Æ¤¤¤ë¤³¤È¤¬Ê¬¤«¤ë¡¥


ÌäÂê¤òÂ礭¤á¤ËÊѹ¹: ºÇ½ªÃʳ¬¤Ø

¤µ¤Æ¡¤¤­¤Á¤ó¤ÈÆ°¤¤¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¤ë¤Î¤Ç¡¤ÌäÂê¤ò»Ø¼¨¤µ¤ì¤¿ 4 x 4 ¤Ë¼è¤ê´¹¤¨¤è¤¦¡¥
¤Þ¤¿¡¤½ÐÎϤ⾯¤·Æɤߤ䤹¤¯¤·¤¿¤¤¡¥
¤È¤¤¤¦¤³¤È¤Ç¡¤Î㤨¤Ð°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥

  1. include Math
  2.  
  3. # ¥Ù¥¯¥È¥ë¤ÎÆâÀÑ¡¥Á°²ó¤Î¥³¥Ô¡¼
  4. def inner_product(v_a, v_b)
  5.   sum = 0.0
  6.   for i in 1..v_a.size do
  7.     sum += v_a[i-1]*v_b[i-1]
  8.   end
  9.   return sum
  10. end
  11.  
  12. # n ¼¡¸µ¥Ù¥¯¥È¥ë¤òºî¤ë
  13. def make_vec(n)
  14.   a = []
  15.   n.times { a.push(0.0) }
  16.   return a
  17. end
  18.  
  19. # n x m ¹ÔÎó¤òºî¤ë
  20. def make_mtx(n,m)
  21.   a = []
  22.   n.times { a.push( make_vec(m) ) }
  23.   return a
  24. end
  25.  
  26. # Îó¥Ù¥¯¥È¥ë¤òÈ´¤­½Ð¤¹
  27. def col_vec(m_a, k)
  28.   v_y = make_vec(m_a.size)
  29.  
  30.   for i in 1..m_a.size do
  31.     v_y[i-1] = m_a[i-1][k-1]
  32.   end
  33.  
  34.   return v_y
  35. end
  36.  
  37. # ¹ÔÎóƱ»Î¤ÎÀÑ: ¹ÔÎóÆó¤Ä¤¬°ú¿ô
  38. def mtx_product_mtx(m_a, m_b)
  39.   m_c = make_mtx(m_a.size, m_a.size)
  40.  
  41.   for i in 1..m_a.size do
  42.     for j in 1..m_a.size do
  43.       m_c[i-1][j-1] = inner_product(m_a[i-1],col_vec(m_b,j))
  44.     end
  45.   end
  46.  
  47.   return m_c
  48. end
  49.  
  50. # ¹ÔÎó¤È¥Ù¥¯¥È¥ë¤ÎÀÑ: ¹ÔÎó¤È¥Ù¥¯¥È¥ë¤¬°ú¿ô
  51. def mtx_product_vec(m_a, v_x)
  52.   v_y = make_vec(m_a.size)
  53.  
  54.   for i in 1..m_a.size do
  55.     v_y[i-1] = inner_product(m_a[i-1], v_x)
  56.   end
  57.  
  58.   return v_y
  59. end
  60.  
  61. # ¹ÔÎó¤ò¿Í´ÖÍѤ˽ÐÎϤ¹¤ë
  62. def print_mtx(m_a)
  63.   for i in 1..m_a.size do
  64.     print_vec(m_a[i-1])
  65.   end
  66. end
  67.  
  68. # ¥Ù¥¯¥È¥ë¤ò¿Í´ÖÍѤ˽ÐÎϤ¹¤ë
  69. def print_vec(v_x)
  70.   print("[ ")
  71.   for i in 1..v_x.size do
  72.     print(v_x[i-1]," ")
  73.   end
  74.   print("]\n")
  75. end
  76.  
  77. # °Ê²¼¡¤¥×¥í¥°¥é¥àËÜÂÎ
  78.  
  79. a = [[1,2,3,4],
  80.      [5,6,7,8],
  81.      [9,10,11,12],
  82.      [13,14,15,16]]
  83.  
  84. b = [[17,18,19,20],
  85.      [21,22,23,24],
  86.      [25,26,27,28],
  87.      [29,30,31,32]]
  88.  
  89. x = [3,4,5,6]
  90.  
  91. # ¹ÔÎóƱ»Î¤ÎÀѤò·×»»
  92. c = mtx_product_mtx(a,b)
  93.  
  94. # ¹ÔÎó¤È¥Ù¥¯¥È¥ë¤ÎÀѤò·×»»
  95. y = mtx_product_vec(a,x)
  96.  
  97. # °Ê²¼¡¤²èÌ̤˽ÐÎÏ
  98. print("A = \n")
  99. print_mtx(a)
  100. print("\n")
  101.  
  102. print("B = \n")
  103. print_mtx(b)
  104. print("\n")
  105.  
  106. print("A B = \n")
  107. print_mtx(c)
  108. print("\n")
  109.  
  110. print("x = \n")
  111. print_vec(x)
  112. print("\n")
  113.  
  114. print("A x = \n")
  115. print_vec(y)

¤½¤·¤Æ¡¤¤³¤ì¤òÆ°¤«¤¹¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡¥
¼ê·×»»¤Ê¤É¤Ç¡¤³Î¤«¤ËÀµ¤·¤¤·ë²Ì¤Ç¤¢¤ë¤³¤È¤¬³Î¤«¤á¤é¤ì¤ë¡¥

A =

[ 1 2 3 4 ]

[ 5 6 7 8 ]

[ 9 10 11 12 ]

[ 13 14 15 16 ]


B =

[ 17 18 19 20 ]

[ 21 22 23 24 ]

[ 25 26 27 28 ]

[ 29 30 31 32 ]


A B =

[ 250.0 260.0 270.0 280.0 ]

[ 618.0 644.0 670.0 696.0 ]

[ 986.0 1028.0 1070.0 1112.0 ]

[ 1354.0 1412.0 1470.0 1528.0 ]


x =

[ 3 4 5 6 ]

 

A x =

[ 50.0 122.0 194.0 266.0 ]

warning.png ´°À®¤·¤¿¥×¥í¥°¥é¥à¤ÏŤ¤¤¬¡¤¤³¤¦¤·¤¿¤ä¤êÊý¤Ç½ç½øΩ¤Æ¤Çºî¤ì¤ÐÆñ¤·¤¤¤³¤È¤Ï²¿¤â̵¤¤¡¥
º£²ó¤Î²ÝÂ꤬Æñ¤·¤¤¤È»×¤Ã¤¿¿Í¤Ï¡¤Á´Âι½Â¤¤ò¹Í¤¨¤º¤Ë¤Ê¤ó¤È¤Ê¤¯¥×¥í¥°¥é¥ß¥ó¥°¤·¤è¤¦¤È¤·¤¿¤Î¤Ç¤Ï¤Ê¤¤¤À¤í¤¦¤«¡¥¤½¤Î¤è¤¦¤Ê³ØÀ¸¤Ï¡Ö»×¤¤¤Ä¤«¤Ê¤«¤Ã¤¿¡×¤Èȯ¸À¤¹¤ë¤³¤È¤¬Â¿¤¤¤¬¡¤¤½¤ì¤Ï°Ê²¼¤ÎÆóÅÀ¤Ë¤ª¤¤¤Æ¤½¤â¤½¤â¹Í¤¨Êý¤¬´Ö°ã¤Ã¤Æ¤¤¤ë¡¥

  1. Ê£»¨¤Ê¤â¤Î¤ËÂФ¹¤ëÂнè¤ò¤¤¤­¤Ê¤ê¡Ö»×¤¤¤Ä¤¯¡×¤Û¤ÉÉáÄ̤οʹ֤ÎǾ¤ß¤½¤ÏÎɤ¯½ÐÍè¤Æ¤¤¤Ê¤¤¡¥¤Ë¤â´Ø¤ï¤é¤º¼«Ê¬¤Ï¤Ç¤­¤ë¤È»×¤¤¹þ¤ó¤Ç¤¤¤ë¤È¤¤¤¦°ÕÌ£¤Ç ÐþËý ¤Ç¤¢¤ë.
  2. ¥×¥í¥°¥é¥à¤Ï¡ÖÂоݤòʬ²ò¤·¤Æµ¡Ç½¤òµ­½Ò¤¹¤ëÁàºî¤ò·«¤êÊÖ¤·¤¿·ë²Ì¡×¤Ê¤Î¤Ë¤½¤Î·ë²Ì¤ò¡Ö»×¤¤¤Ä¤¯¡×¤È¤ß¤Ê¤¹¤Î¤Ï¡¤how ¤¬º¬Ëܤ«¤é´Ö°ã¤Ã¤Æ¤¤¤ë¤È¤¤¤¦°ÕÌ£¤Ç¡Ö¤ª¶â¤¬¶õ¤«¤é¹ß¤Ã¤Æ¤¯¤ë¤Î¤òÂԤĤȤ¤¤¦¤Î¤ÈƱ¤¸¡×¤À¡¥

¤³¤ì¤Ï¤ª¤½¤é¤¯¡¤¡ÖÊ£»¨¤µ¤òʬ²ò¤¹¤ë¤³¤È¤ÎËܼÁ¤µ¡¤½ÅÍ×À­¤òÍý²ò¤·¤Æ¤¤¤Ê¤¤¡×¤³¤È¤¬¸¶°ø¤À¤í¤¦¡¥¤³¤Î¤³¤È¤Ï·Ú»ë¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡¥Âç»ö¤Ê¤³¤È¤Ê¤Î¤Çɸ¸ìŪ¤ËÂ礭¤¯½ñ¤¤¤Æ¤ª¤³¤¦¡¥

¥×¥í¥°¥é¥ß¥ó¥°¤Ç¤Ï¥Æ¥¯¥Ë¥«¥ë¤Êµ¡Ç½¼ÂÁõ¤ËÌܤòÃ¥¤ï¤ì¤¬¤Á¤À¤¬¡¤
¤à¤·¤í¡ÖÌäÂê¤ò¤É¤¦Ê¬²ò¤¹¤ë¤«¡×¤ËÃíÎϤ¹¤Ù¤­¤Ç¤¢¤ë¡¥

warning.png ¡ÖÆñ¤·¤«¤Ã¤¿¡×¡Ö»×¤¤¤Ä¤«¤Ê¤«¤Ã¤¿¡×¤È¥ì¥Ý¡¼¥È¤Ë½ñ¤¤¤¿¿Í¤Ï¡¤¼«Ê¬¤Ë²¿¤¬Â­¤ê¤Ê¤¤¤Î¤«¤â¤¦°ìÅÙ¤æ¤Ã¤¯¤ê¹Í¤¨¤Æ¤ß¤è¤¦¡¥


¥×¥í¥°¥é¥àÃæ¤ËƱ¤¸¤³¤È¤ò·«¤êÊÖ¤µ¤Ê¤¤

Àè¤Ë½ñ¤¤¤¿¤¬¡¤Æ±ÍͤνèÍý¤ò¤Ê¤ó¤É¤â½ñ¤«¤º¤Ë¡Ö´û¤Ë¥×¥í¥°¥é¥à¤·¤Æ¤¢¤ë¤³¤È¤òÍøÍѤ·¤Æ¥×¥í¥°¥é¥à¤¹¤ë¡×¤³¤È¤Ï½ÅÍפǤ¢¤ë¡¥
warning.png ¼ÂºÝ¤Ë¡¤¾å¤Î¥µ¥ó¥×¥ë¤Ç¤Ï¡ÖÍ×ÁǤò³Ý¤±¤Æ­¤·¤Æ¤¤¤¯Áàºî¡×¤¬°ì²Õ½ê¤Ë¤·¤«Ìµ¤¤¤³¤È¤ËÃåÌܤ·¤è¤¦¡¥¤½¤·¤Æ¡¤¼«Ê¬¤Î½ñ¤¤¤¿¥×¥í¥°¥é¥à¤Ç¤Ï¤½¤¦¤·¤¿Áàºî¤¬²¿²Õ½ê¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤«¡¤¥Á¥§¥Ã¥¯¤·¤Æ¤ß¤è¤¦¡¥


¾ò·ï¤¬Ëþ¤¿¤µ¤ì¤Æ¤¤¤ë´Ö¤Ï¥ë¡¼¥×¤¹¤ë : while Ì¿Îá

¾ò·ï¤¬Ëþ¤¿¤µ¤ì¤Æ¤¤¤ë´Ö¤Ï¥ë¡¼¥×¤¹¤ë¤È¤¤¤¦À©¸æ¤ò³Ø¤Ü¤¦¡¥
¤Þ¤º¤Ïʸˡ¤ò½ñ¤¤¤Æ¤ª¤³¤¦¡¥

while (¾ò·ï) do
        ¾å¤Î¾ò·ï¤¬Ëþ¤¿¤µ¤ì¤¿¤é¼Â¹Ô¤µ¤ì¤ë
        ¡Ä
        # ¤³¤³¤Þ¤ÇÍ褿¤é¡¤¤â¤¦°ìÅÙ¾å¤ËÌá¤Ã¤Æ¾ò·ï¤¬¥Á¥§¥Ã¥¯¤µ¤ì¤ë
end

warning.png for ¤È if ¤òÁȤ߹ç¤ï¤»¤Æµ¼»÷Ū¤Ë¼Â¸½¤¹¤ë¤³¤È¤â¤Ç¤­¤ë.

notes.png ¤³¤Î while Ì¿Îá¤ò»È¤Ã¤Æ¡¤1 + 2 + 3 + ... ¤È¤¤¤¦·×»»¤¬¤¤¤Ä»ØÄꤵ¤ì¤¿¿ô»ú¤òĶ¤¨¤ë¤«Ä´¤Ù¤ë¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ¤ß¤è¤¦¡¥ÅÓÃæ·Ð²á¤â½ÐÎϤ¹¤ë¤è¤¦¤Ë¤·¤è¤¦¡¥


¤³¤Î¾ì¹ç¤Ï¡¤Î㤨¤Ð¼¡¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ë¤Ê¤ë¤À¤í¤¦¡¥

  1. include Math
  2.  
  3. # Ä¶¤¨¤ë¤«¤É¤¦¤«Ä´¤Ù¤ë¿ô¤Ïµ¯Æ°»þ¤Ë¤â¤é¤¦
  4. n = ARGV[0].to_i
  5.  
  6. # ¹ç·×¤Î½é´üÃͤϤâ¤Á¤í¤ó¥¼¥í¡¥
  7. sum = 0
  8.  
  9. # Â­¤·¤Æ¤¤¤¯¿ô¡¥ ºÇ½é¤Ï 1 ¤«¤é¤À¤¬¡¤¤³¤ÎÃʳ¬¤Ç¤Î sum ¤ËÂФ·¤Æ¤Ï¤Þ¤À 0 ¤·¤«Â­¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¤
  10. # ¥¼¥í¤Ë¤·¤Æ¤ª¤¯¤Î¤¬¹çÍýŪ¡¥
  11. i = 0
  12.  
  13. # n ¤òĶ¤¨¤Æ¤Ê¤¤¤È while ¤ÎÃæ¿È¤¬¼Â¹Ô¤µ¤ì¡¤ºÆ¤Ó n ¤òĶ¤¨¤Æ¤¤¤Ê¤¤¤«¥Á¥§¥Ã¥¯¡Ä¤ò·«¤êÊÖ¤¹¡¥
  14. while (sum <= n) do
  15.   print("i = ", i, ", sum = ", sum, " <= ", n, "\n") 
  16.   # Àè¤Ë½ÐÎÏ. ¤³¤ÎÃʳ¬¤Ê¤é³Î¼Â¤Ë sum <= n.
  17.   # while ¤Ç¤Ï¡¤·ë²Ì¤ËÂФ¹¤ëȽÃǤä½ÐÎϤϾò·ï¥Á¥§¥Ã¥¯¤Î¤¹¤°¤¢¤È¤Ë¹Ô¤¦¤Î¤¬¶Ú¡¥
  18.  
  19.   i += 1     # i ¤ò 1Áý¤ä¤¹¡¥
  20.   sum += i   # i ¤À¤±¹ç·×¤¹¤ë¡¥
  21. end
  22.  
  23. # i ¤òÁý¤ä¤·¤Æ¤«¤é i ¤ò sum ¤Ë­¤¹¤³¤È!
  24. # sum ¤Ë­¤·¤Æ¤«¤é i ¤òÁý¤ä¤¹¤È¡¤ºÇ¸å¤Ë¤Ä¤¸¤Ä¤Þ¤¬¹ç¤ï¤Ê¤¯¤Ê¤ë¤è¡¥
  25. # ¤è¤¯Ê¬¤«¤é¤Ê¤¤¿Í¤Ï¡¤sum ¤Ë­¤·¤Æ¤«¤é i ¤òÁý¤ä¤¹¤è¤¦¤Ë¤·¤Æ¥×¥í¥°¥é¥à¤òÆ°¤«¤·¤Æ¤ß¤è¤¦.
  26.  
  27. # ºÇ¸å¤Ë·ë²Ì¤ò½ÐÎÏ¡¥
  28. print("i = ", i, ", sum = ", sum, " > ", n, "\n")

¤³¤ì¤ò

 ruby -w ./over.rb 100

¤Ê¤É¤È¤·¤Æµ¯Æ°¤¹¤ë¤È¡¤

i = 0, sum = 0 <= 100

i = 1, sum = 1 <= 100

i = 2, sum = 3 <= 100

i = 3, sum = 6 <= 100

i = 4, sum = 10 <= 100

i = 5, sum = 15 <= 100

i = 6, sum = 21 <= 100

i = 7, sum = 28 <= 100

i = 8, sum = 36 <= 100

i = 9, sum = 45 <= 100

i = 10, sum = 55 <= 100

i = 11, sum = 66 <= 100

i = 12, sum = 78 <= 100

i = 13, sum = 91 <= 100

i = 14, sum = 105 > 100

¤È¤¤¤¦¤è¤¦¤Ë·ë²Ì¤¬ÆÀ¤é¤ì¤ë¡¥¤É¤¦¤À¤í¤¦¤«¡¥¼«Ê¬¤Ç¤Ç¤­¤¿¤À¤í¤¦¤«¡¥



warning.png ´ª¤ÎÎɤ¤¿Í¤Ï¤â¤¦µ¤¤Å¤¤¤Æ¤¤¤ë¤À¤í¤¦¤¬¡¤while Ì¿Îá¤ÎËܼÁ¤ò½ñ¤¤¤Æ¤ª¤¯¤È¡¤

while = æ½ÐȽÄê¤Ä¤­Ìµ¸Â¥ë¡¼¥×¤Î°ì¼ï

¤Ç¤¢¤ë¡¥


Fizz Buzz ¤ËÄ©Àï

Fizz Buzz ¤È¤Ï¸ÀÍÕÍ·¤Ó¤Î°ì¼ï¤Ç¡¤1, 2,... ¤È½ç¤Ë¿ô»ú¤ò½Ò¤Ù¤Æ¤¤¤¯»þ¤Ë¡¤

  • 3 ¤Ç³ä¤êÀÚ¤ì¤ë¤È¤­¤Ï¤½¤Î¿ô»ú¤ÎÂå¤ï¤ê¤Ë Fizz ¤È¸À¤¦
  • 5 ¤Ç³ä¤êÀÚ¤ì¤ë¤È¤­¤Ï¤½¤Î¿ô»ú¤ÎÂå¤ï¤ê¤Ë Buzz ¤È¸À¤¦
  • ¤¿¤À¤·¡¤3 ¤Ç¤â 5 ¤Ç¤â³ä¤êÀÚ¤ì¤ë¤È¤­¤ÏÆÃÊ̤ˤ½¤Î¿ô»ú¤ÎÂå¤ï¤ê¤Ë Fizz Buzz ¤È¸À¤¦

¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡¥¤½¤³¤Ç¡¤¤³¤ì¤ò°Ê²¼¤Î¤è¤¦¤Ë¥×¥í¥°¥é¥à¤·¤è¤¦¡¥

  • ¥×¥í¥°¥é¥àµ¯Æ°»þ¤Ë¤¢¤ëÄøÅÙÂ礭¤Ê¿ô n (100 ¤°¤é¤¤?) ¤¬Í¿¤¨¤é¤ì¤ë¡¥
  • 1,2,... ¤È¿ô¤ò¾å¤Î¥ë¡¼¥ë¤Ç½ÐÎϤ·¤Æ¤¤¤Ã¤Æ¡¤Fizz, Buzz, Fizz Buzz ¤Î½Ð¸½²ó¿ô¤Î¹ç·×¤¬ n ¤Ë¤Ê¤Ã¤¿¤éÄä»ß¤¹¤ë¡¥

¶ñÂÎŪ¤Ë¤Ï¡¤Î㤨¤Ð

 ruby -w fb.rb 10

¤È¤·¤Æ 10¸Ä¤Î¡ÖÂå¤ï¤ê¡×¤¬½Ð¤Æ¤¯¤ë¤Þ¤Ç¤ò½ÐÎϤµ¤»¤ë¤È¡¤

1

2

Fizz

4

Buzz

Fizz

7

8

Fizz

Buzz

11

Fizz

13

14

Fizz Buzz

16

17

Fizz

19

Buzz

Fizz

¤È¤Ê¤ë¡¥¤µ¤Æ¡¤¤ß¤Ê¤µ¤ó¤Ï¤¦¤Þ¤¯¤Ç¤­¤ë¤À¤í¤¦¤«¡¥
warning.png ¤½¤ì¤Ã¤Ý¤¤Æ°ºî¤¬ÆÀ¤é¤ì¤Æ¤â°Â¿´¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡¥¤­¤Á¤ó¤È»ä¤Î¥µ¥ó¥×¥ë¤ÈƱ¤¸½ÐÎϤˤʤäƤ¤¤ë¤«¡¤ÊѤʤȤ³¤í¤Ç´Ö°ã¤¨¤Æ 15 ¤ÎÂå¤ï¤ê¤Ë Buzz ¤Ê¤É¤È¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤«¡¤Ãí°Õ¿¼¤¯³Î¤«¤á¤è¤¦¡¥


(¾åµé¼Ô¸þ¤±) 3¤ÎÇÜ¿ô¤È3¤Î¤Ä¤¯¿ô¤Î¤È¤­¤À¤±¥¢¥Û

¡Ö3¤ÎÇÜ¿ô¤È3¤Î¤Ä¤¯¿ô¤Î¤È¤­¤À¤±¥¢¥Û¤Ë¤Ê¤ë¡×¤È¤·¤Æ¾å¤ÈƱ¤¸¤³¤È¤ËÄ©À路¤Æ¤ß¤è¤¦¡¥
¤¿¤À¤·¡¤¡Ö3¤Î¤Ä¤¯¡×¤È¤¤¤¦¾ò·ï¤Ëʸ»úÎó½èÍý¤¬É¬Íפǡ¤¤³¤ì¤Ï¶µ¤¨¤¿ÈϰϤËÆþ¤Ã¤Æ¤Ê¤¤Ã챤¬É¬ÍפʤΤǼ«Ê¬¤ÇÄ´¤Ù¤ëɬÍפ¬¤¢¤ë¡¥


Collatz ¤ÎͽÁÛ¤òÄ´¤Ù¤Æ¤ß¤è¤¦

Collatz ¤ÎͽÁÛ ¤È¤¤¤¦Í½ÁÛ¤¬¤¢¤ë¡¥¤³¤ì¤ò while ¤ò»È¤Ã¤Æ¾¯¤·³Î¤«¤á¤Æ¤ß¤è¤¦¡¥
¤Þ¤º¤³¤ÎͽÁۤˤĤ¤¤Æµ­½Ò¤·¤è¤¦¡¥¤³¤ÎͽÁۤȤϡ¤ÀµÀ°¿ô n ¤ËÂФ¹¤ë´Ø¿ô f ¤ò

  • n ¤¬¶ö¿ô¤Î¾ì¹ç: f(n) = n / 2
  • n ¤¬´ñ¿ô¤Î¾ì¹ç: f(n) = (3 * n) + 1

¤È¤¹¤ë¤È¡¤¡Ö¤¤¤«¤Ê¤ëÀµÀ°¿ô¤ËÂФ·¤Æ¤â¤³¤Î f ¤ò·«¤êÊÖ¤·¤ÆŬÍѤ¹¤ë¤È¤¤¤º¤ìɬ¤º 1 ¤Ë¤Ê¤ë¡×¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡¥

notes.png ¤³¤ÎͽÁÛ¤¬Í¿¤¨¤é¤ì¤¿¿ô¤Ë¤Ä¤¤¤ÆÀ®¤êΩ¤Ä¤«¤É¤¦¤«¤ò³Î¤«¤á¤ë¤¿¤á¤Ë¡¤ÆþÎϤ·¤¿¿ô¤Ë f ¤òŬÍѤ·¤Æ 1 ¤Ë¤Ê¤ë¤Þ¤Ç¤Î·Ð°Þ¤ò½ÐÎϤ¹¤ë¥×¥í¥°¥é¥à¤ò½ñ¤³¤¦¡¥
¶ñÂÎŪ¤Ë¤Ï¡¤Î㤨¤Ð

 ruby -w collatz.rb 100

¤È¤·¤ÆºÇ½é¤Ë "100" ¤«¤é¥¹¥¿¡¼¥È¤·¤¿¾ì¹ç¤ò¥Á¥§¥Ã¥¯¤µ¤»¤ë¤È

100 -> 50 -> 25 -> 76 -> 38 -> 19 -> 58 -> 29 -> 88 ->

44 -> 22 -> 11 -> 34 -> 17 -> 52 -> 26 -> 13 -> 40

-> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 1.

¤È¤¤¤¦¤è¤¦¤Ê½ÐÎϤò½Ð¤¹¤è¤¦¤Ë¤·¤è¤¦¡¥
warning.png ¡Öf ¤Î·ë²Ì¤¬ 1 ¤Ç¤Ê¤¤´Ö¤Ï while ¤ÎÃæ¿È¤¬¼Â¹Ô¤µ¤ì¤ë¡×¤È¤¤¤¦¥¹¥È¡¼¥ê¡¼¤Ë¤Ê¤ë¤Ï¤º¤À¡¥


º£Æü¤ÎÁí»Å¾å¤²

¾å¤Î Collatz ¤ÎͽÁÛ¤ò°Ê²¼¤Î¤è¤¦¤ËÄ´¤Ù¤ë¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ¡¤·ë²Ì¤ò¥Õ¥¡¥¤¥ë¤Ë¤È¤Ã¤Æ¤ª¤¤¤Æ¤«¤éŬÅö¤Ë¥°¥é¥Õ¤Ë¤·¤è¤¦¡¥
¾ò·ï¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡¥

  • ÀµÀ°¿ô k ¤ËÂФ·¤Æ¡¤Collatz ¤Î´Ø¿ô f ¤ò²¿²óŬÍѤ¹¤ë¤È 1 ¤Ë¤Ê¤ë¤«¤ò½ÐÎϤ¹¤ë´Ø¿ô num_col(k) ¤¬ def ¤ò»È¤Ã¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¥
  • ¥×¥í¥°¥é¥àµ¯Æ°»þ¤Ë¤¢¤ëÄøÅÙÂ礭¤Ê¿ô n (100¤°¤é¤¤) ¤¬Í¿¤¨¤é¤ì¤ë¡¥
  • 1 ¤«¤é»Ï¤á¤Æ¡¤n ¤Þ¤Ç num_col ¤Î·ë²Ì¤ò½ÐÎϤ¹¤ë¡¥

warning.png num_col(1) ¤¬ 3 ¤Ë¤Ê¤Ã¤¿¤ê¤·¤Ê¤¤¤è¤¦¤ËÃí°Õ¤·¤è¤¦¡¥

¶ñÂÎŪ¤Ë¤Ï¡¤Î㤨¤Ð

 ruby -w col_num.rb 30

¤È¤·¤Æ 30 ¤Þ¤Ç¤òÄ´¤Ù¤µ¤»¤ë¤È

1, 0

2, 1

3, 7

4, 2

5, 5

6, 8

7, 16

8, 3

9, 19

10, 6

11, 14

12, 9

13, 9

14, 17

15, 17

16, 4

17, 12

18, 20

19, 20

20, 7

21, 7

22, 15

23, 15

24, 10

25, 23

26, 10

27, 111

28, 18

29, 18

30, 18

¤È¤¤¤¦¤è¤¦¤Ê½ÐÎϤò½Ð¤¹¤è¤¦¤Ë¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡¥
¤½¤·¤Æ¡¤¤³¤Î½ÐÎϥǡ¼¥¿¤ò¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¤Æ¤ª¤¤¤ÆŬÅö¤Ê¥Ä¡¼¥ë¤Ç¥°¥é¥Õ¤Ë¤·¤Æ(¤¿¤À¤·¡¤¥¨¥¯¥»¥ëÅù¤Îɽ¥Ä¡¼¥ë¤Ï¶Ø»ß)¡¤
collatz.png

¤È¤¤¤¦¤è¤¦¤Ê¤â¤Î¤òºî¤í¤¦¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¡¥

¤³¤ÎÎã¤Ç¤Ï 30¤Þ¤Ç¤À¤¬¡¤¤³¤ì¤ò 100 ¤°¤é¤¤¤ÎÃͤǼ¹Ԥ·¤Æ¡¤¥Ç¡¼¥¿¤È¥°¥é¥Õ¤òÆÀ¤é¤ì¤¿¤é´°À®¡¤¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¡¥


¥ì¥Ý¡¼¥È

ËÜÆü¼õ¤±¤¿¹ÖµÁ¤ª¤è¤Ó¹Ô¤Ã¤¿¼Â½¬¤Ë¤Ä¤¤¤Æ¡¤´Êñ¤Ë¤Þ¤È¤á¤¿Êó¹ð¤ò¤»¤è.
¤Þ¤¿¡¤Áí»Å¾å¤²¤ÎÉôʬ¤Ç¼«Ê¬¤Ç½ñ¤¤¤¿¥×¥í¥°¥é¥à¤òÊó¹ð¤»¤è.

¤â¤Á¤í¤ó³Æ¼«¤Î

  1. ½ê°(³ØÉô¡¤³Ø²Ê)
  2. ³ØÀÒÈÖ¹æ
  3. ³Øǯ
  4. »á̾
  5. Æü»þ
  6. ´Î¿´¤Î¥ì¥Ý¡¼¥ÈÆâÍÆ(ÆÀ¤¿Ãθ«¡¤ºî¶È¤Ë¤Ä¤¤¤Æµ¤¤Å¤¤¤¿¤³¤ÈÅù¤â)

¤ò½ñ¤¯¤Î¤ò˺¤ì¤Ê¤¤¤è¤¦¤Ë.

about Icons, ClipArts

Some icons in this page are downloadable at ICONFINDER.

The "note" icon notes.png designed by Marco Martin is distributed with the LGPL licence,
the "warning" icon warning.png designed by Alexandre Moore with the GPL licence
and the "triangle" icon JNorth_arrow-right-sm.png designed by Joseph North is distributed with the Creative Commons (Attribution-Noncommercial-Share Alike 3.0 Unported) licence.

Some clip arts used in this page are downloadable at Open Clip Art Library.
We deeply appreciate their superb works. With licence, they describe that "the actual clipart content on open clipart library is Public domain" in the web.


źÉÕ¥Õ¥¡¥¤¥ë: filecollatz.png 160·ï [¾ÜºÙ]