¼ø¶È»ñÎÁ/10 ¤ÎÊѹ¹ÅÀ


#contents

* Á°²ó¤Î²ÝÂê¤Ë¤Ä¤¤¤Æ [#ba3b7fb9]

Á°²ó¤ÎÁí»Å¾å¤²¤Î²ÝÂê¤Ï Fibonacci ¿ôÎó ''F_0, F_1, F_2, ... '' ¤ò·×»»¤·¤Æ½ÐÎϤ¹¤ë¥×¥í¥°¥é¥à¤ò¡ÖÆó¤Ä¡×½ñ¤±¤È¤¤¤¦¤â¤Î¤Ç¡¤¾ò·ï¤Ï°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤Ã¤¿¡¥

+ F_0 = 0, F_1 = 1 ¤È¤¹¤ë.
+ µ¯Æ°»þ¤ËÀµÀ°¿ô¥Ñ¥é¥á¡¼¥¿ ''n'' (30¤°¤é¤¤¤òÁÛÄê)¤¬Í¿¤¨¤é¤ì¡¤F_0, F_1, F_2,... F_n ¤Þ¤Ç¤ò½ÐÎϤ¹¤ë¤â¤Î¤È¤¹¤ë¡¥
+ ¥×¥í¥°¥é¥àA ¤Ï¡¤ºÆµ¢ÄêµÁ¤òÍѤ¤¤Æ·×»»¤¹¤ë¤È¤¹¤ë¡¥
+ ¥×¥í¥°¥é¥àB ¤Ï¡¤¥ë¡¼¥×·×»»¤òÍѤ¤¤Æ·×»»¤¹¤ë¤È¤¹¤ë¡¥

&br;
** ºÆµ¢¤Ë¤è¤ë¥×¥í¥°¥é¥ß¥ó¥° [#f5c23fdb]

¤Þ¤º¤ÏºÆµ¢ÄêµÁ¤òÍѤ¤¤Æ¥×¥í¥°¥é¥ß¥ó¥°¤ò¤·¤Æ¤ß¤è¤¦¡¥

&br;
*** Á´Âι½Â¤ [#g2de80bf]
¤È¤Ï¤¤¤¨¡¤¤Þ¤º¤ÏÁ´Âι½Â¤¤«¤é¤Ç¤¢¤ë¡¥¤µ¤¯¤Ã¤Èºî¤Ã¤Æ¤·¤Þ¤ª¤¦¡¥
Î㤨¤Ð¡¤¤â¤Ã¤È¤âñ½ã¤Ë¹Í¤¨¤ë¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=on,cache=on){{
include Math

# n ÈÖÌܤΠFibonacci ¿ô¤òÊÖ¤¹´Ø¿ô
def fibonacci(n)
  # ¼ÂÁõ¤Ï¸å¤Ç
  return n
end

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

# ¤É¤³¤Þ¤Ç½ÐÎϤ¹¤ë¤«
n_upper = ARGV[0].to_i

# n_upper ÈÖÌܤޤǤÎFibonacci ¿ô¤ò½ÐÎÏ
for i in 0..n_upper do
  print("F_", i," = ",fibonacci(i),"\n")
end
}}

&br;
*** ¥Õ¥£¥Ü¥Ê¥Ã¥Á´Ø¿ô:ºÆµ¢ÄêµÁÈÇ [#f8c43410]
¤µ¤Æ¡¤¼¡¤Ë´Î¿´¤Î´Ø¿ô fibonacci ¤òÄêµÁ¤·¤è¤¦¡¥
¤³¤ì¤Ï¥Õ¥£¥Ü¥Ê¥Ã¥Á¿ôÎó¤Î¿ô³ØŪ¤ÊºÆµ¢ÄêµÁ¼°¤ò¤½¤Î¤Þ¤ÞÍѤ¤¤ì¤ÐÎɤ¤¤À¤±¤Ê¤Î¤Ç´Êñ¤À¡¥¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=off,cache=on){{
# n ÈÖÌܤΠFibonacci ¿ô¤òÊÖ¤¹´Ø¿ô
def fibonacci(n)
  if (n == 0) then
    return 0
  elsif (n == 1) then
    return 1
  else
    return fibonacci(n-1) + fibonacci(n-2)
  end
end
}}

¤µ¤Æ¡¤¤³¤ì¤Ç´°À®¤À¡¥Æ°¤«¤·¤Æ¤ß¤è¤¦¡¥30 ¤°¤é¤¤¤Þ¤Ç¤ä¤é¤»¤ë¤È¤À¤¤¤ÖÃÙ¤¤¤³¤È¤¬¤è¤¯¤ï¤«¤ë¡¥

&br;
** ¥ë¡¼¥×¤Ë¤è¤ë¥×¥í¥°¥é¥ß¥ó¥° [#hbb19e3a]

&br;
*** Á´Âι½Â¤ [#qea9ac9f]
Á´Âι½Â¤¤Ï¡¤¤Þ¤º¾å¤Î¤â¤Î¤ÈÁ´¤¯Æ±¤¸¤â¤Î¤ò¹Í¤¨¤è¤¦¡¥

&br;
*** ¥Õ¥£¥Ü¥Ê¥Ã¥Á´Ø¿ô:¥ë¡¼¥×ÈÇ [#gcabf172]
¥ë¡¼¥×ÈǤòºî¤ë¤Ë¤Ï¡¤¼¡¤Î¤è¤¦¤Êºî¶È¤ò¥ë¡¼¥×¤ÎÃæ¤ËÆþ¤ì¤ì¤ÐÎɤ¤¡¥

+ Á°Æó¤Ä¤ÎÃͤò­¤·¤Æ¡¤¡Ö¿·¤·¤¤Ã͡פȤ¹¤ë.
+ ¼¡¤ËÈ÷¤¨¤Æ¡¤Á°Æó¤Ä¤ÎÃͤò¹¹¿·¤¹¤ë.

¤½¤ì¤Ë¤Ï¡¤ÁÇľ¤Ëºî¤ë¤Î¤Ê¤é¤ÐÎ㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=on,cache=on){{
def fibonacci(n)
  # n = 0 or 1 ¤Ê¤éÊÖ¤¹¡¥
  if ( (n == 0) || (n==1) )then
    return n
  end

  # ¤³¤³¤ØÍè¤ë¤Î¤Ï n >= 2 ¤Î¾ì¹ç¡¥
  pp_n = 0
  p_n  = 1

  for i in 2..n do
    cur_n = pp_n + p_n
    pp_n, p_n = p_n, cur_n
  end

  return cur_n
end
}}
ÉáÄ̤οͤ¬ÉáÄ̤˥롼¥×ÈÇ¤Î¥×¥í¥°¥é¥à¤ò½ñ¤¯¤È¤³¤ó¤Ê´¶¤¸¤Ë¤Ê¤ë¤À¤í¤¦¡¥
&br;

&ref(/materials/warning.png); ¤µ¤Æ¡¤¾å¤Î¥×¥í¥°¥é¥à¤ò¸«¤Æ¡¤''if'' ¤Î ''else'' ¤ò»È¤ï¤º¤ËºÑ¤ó¤Ç¤¤¤ë¤³¤È¤Ëµ¤¤Å¤¤¤¿¿Í¤â¤¤¤ë¤À¤í¤¦¡¥
¤³¤ì¤Ï ''return'' ¤ò¼Â¹Ô¤¹¤ë¤È¤½¤³¤Ç´Ø¿ô¤¬½ªÎ»¤¹¤ë»ÅÁȤߤʤΤǡ¤¤½¤Î»ÅÁȤߤò¾å¼ê¤Ë»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¢¤ë¡¥

¤â¤¦¾¯¤·Â礭¤ÊÏȤθÀÍդǸÀ¤¦¤È¡¤Îã³°½èÍý(¤³¤Î¾ì¹ç¤Ï ''n=0 or n=1'' ¤Ë¤¢¤¿¤ë)¤Ï´Ø¿ôÆâ¤Ç¾å¼ê¤Ë¹Ô¤¦¤È''if'' ʸ¤Î½èÍý¤¬¥·¥ó¥×¥ë¤ÇºÑ¤à¡¤¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¡¥
¸À¤¤´¹¤¨¤ë¤È¡¤

CENTER:&size(24){''Ê£»¨¤Ê¾ì¹çʬ¤±¤Ï´Ø¿ô¤ÎÃæ¤Ç¤ä¤ë¤Ù¤·''};
&br;

¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¡¥

&br;
** ¹â®²½: ·×»»¤Î¥à¥À¤ò¾Ê¤¯ [#vd8ef59e]

¾å¤Î¥×¥í¥°¥é¥à¤Ï¡¤¤É¤Á¤é¤Ë¤â´û¤ËÅÓÃæ¤Çµá¤á¤¿Ãͤò¤Ê¤ó¤É¤âµá¤áľ¤¹·Á¤Ë¤Ê¤Ã¤Æ¤¤¤Æ̵Â̤¬¤¢¤ë¡¥
¤½¤Î̵Â̤ò¾Ü¤·¤¯¸«¤ë¤ÈÆó¼ïÎढ¤ë¡¥Îã¤ò»È¤Ã¤Æ¼¨¤¹¤È¼¡¤Î¤è¤¦¤Ê´¶¤¸¤À¡¥

+ Î㤨¤Ð F_10 ¤ò·×»»¤¹¤ë²áÄø¤Ç F_0, F_1, ... F_10 ¤Þ¤Çµá¤Þ¤ë¤Î¤Ë¡¤¼¡¤Î F_11 ¤òµá¤á¤ë¤È¤­¤Ë¤Þ¤¿ F_0, F_1, ..., F_10 ¤ò·×»»¤·¤Ê¤ª¤¹ÌµÂÌ¡¥
+ Î㤨¤Ð F_10 ¤ò·×»»¤¹¤ë²áÄø¤ÎÃæ¤Ç¡¤F_4 ¤Ï 6²ó¤â·×»»¤·Ä¾¤µ¤ì¤ë̵ÂÌ¡¥

1 ¤ÏºÆµ¢ÈǤˤâ¥ë¡¼¥×ÈǤˤⶦÄ̤¹¤ë̵Â̤Ǥ¢¤ê¡¤2 ¤ÏºÆµ¢ÈǤΤߤˤ¢¤ë̵Â̤Ǥ¢¤ë¡¥
&ref(/materials/warning.png); ¤³¤Î¡ÖÆó¼ïÎà¡×¤Î̵Â̤¬¤ï¤«¤ë¤À¤í¤¦¤«¡¥¤è¤¯¹Í¤¨¤è¤¦¡¥

¤½¤³¤Ç¤½¤ì¤¾¤ìÂнè¤ò¹Í¤¨¤è¤¦¡¥

¤Þ¤ºÌµÂÌ 1 ¤Ë¤Ä¤¤¤Æ¹Í»¡¤·¤è¤¦¡¥
¡Ö¿ôÎó¡×¤È¤¤¤¦¤â¤Î¤ÎÀ­¼Á¤«¤é¤·¤Æ¡¤F_n ¤òµá¤á¤ë²áÄø¤Ç F_0, F_1, ..., F_n ¤Î¤¹¤Ù¤Æ¤¬¼«Á³¤Ëµá¤á¤é¤ì¤ë¤Î¤ÏÅöÁ³¤À¤«¤é¡¤¤½¤ì¤òÍøÍѤ·¤è¤¦¡¥ ¤Ä¤Þ¤ê¡¤¡ÖF_n ¤òÅú¤¨¤ë¡×¤È¤¤¤¦´Ø¿ô¤Ç¤Ï¤Ê¤¯¡¤¡ÖF_0, F_1, ..., F_n ¤ÎÇÛÎó¤òÅú¤¨¤ë¡×¤È¤¤¤¦´Ø¿ô¤Ë¤¹¤ë¤È¼«Á³¤Ë¤³¤ì¤¬¤Ç¤­¤½¤¦¤À¡¥

&ref(/materials/warning.png); ¤³¤Î¤è¤¦¤Ë¡¤´Ø¿ô¤È¥×¥í¥°¥é¥àËÜÂδ֤ʤɤξðÊó¤Î¡Ö¤ä¤ê¤È¤ê¡×¤òŬÀÚ¤ËÀ߷פ¹¤ë¤È¤è¤¤¡¥¤³¤ì¤âÁ´Âι½Â¤¤ò¹Í¤¨¤ë¤È¤¤¤¦¤³¤È¤Î°ì¼ï¤À¡¥

&br;
*** Á´Âι½Â¤ [#bd1ece18]
¾å¤Ë½ñ¤¤¤¿¤è¤¦¤Ë¡¤fibonacci ´Ø¿ô¤ËÅú¤¨¤ÎÇÛÎó¤òºî¤é¤»¤ì¤Ð¤è¤¤¤Î¤Ç¡¤Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥

// programu source ɽµ­
#highlighter(language=ruby,number=on,cache=on){{
include Math

# ÇÛÎó¤òÀ°Íý¤·¤Æɽ¼¨¤¹¤ë´Ø¿ô
def list_print(ary)
  # ¼ÂÁõ¤Ï¸å¤Ç
end

# Fibonacci ¿ôÎó¤òÇÛÎó¤ÇÊÖ¤¹´Ø¿ô
def fibonacci(n)
  # ¼ÂÁõ¤Ï¸å¤Ç

  # ¤È¤ê¤¢¤¨¤º¥×¥í¥°¥é¥à¤¬Æ°¤¯¤è¤¦¤Ë¶õ¤Ã¤Ý¤ÎÇÛÎó¤Ç¤è¤¤¤Î¤ÇÊÖ¤·¤Æ¤ª¤¯
  return []
end


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

# ¾å¸ÂÃͤò¤â¤é¤Ã¤Æ¡Ä
n_upper = ARGV[0].to_i

# Fibonacci ¿ôÎó¤òÇÛÎó¤Çµá¤á¤ë¡¥
fb_list = fibonacci(n_upper)

# ÆÀ¤é¤ì¤¿·ë²Ì¤òɽ¼¨
list_print(fb_list)
}}

&ref(/materials/warning.png); ¤Þ¤º¤ÏÁ´Âι½Â¤¤òÀ߷פ¹¤ë¤³¤È¤ò˺¤ì¤Ê¤¤¤è¤¦¤Ë¡ª ¤½¤í¤½¤í¡¤¥×¥í¥°¥é¥àËÜÂΤˤ°¤À¤°¤À·×»»¤¬½ñ¤¤¤Æ¤¢¤ë¥×¥í¥°¥é¥à¤Ï¥ì¥Ý¡¼¥È¤È¤·¤Æ¼õ¤±ÉÕ¤±¤Ê¤¤¤è¡¥

&br;
*** ³Æ´Ø¿ô¤Î¼ÂÁõ: ÇÛÎó¤Îɽ¼¨ [#w2c5e48a]

¤Þ¤º¡¤ÇÛÎó¤òÀ°Íý¤·¤Æɽ¼¨¤¹¤ë´Ø¿ô¤Ï¤¹¤°¤Ç¤­¤ë¡¥Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=off,cache=on){{
# ÇÛÎó¤òÀ°Íý¤·¤Æɽ¼¨¤¹¤ë´Ø¿ô
def list_print(ary)
  for i in 0..(ary.size-1) do
    print("F_", i," = ",ary[i],"\n")
  end
end
}}

&br;
*** ³Æ´Ø¿ô¤Î¼ÂÁõ: fibonacci ¿ôÎó¤òÇÛÎó¤Ç: ¥ë¡¼¥×ÈÇ [#xef68b43]

¼¡¤Ë¡¤fibonacci ´Ø¿ô¤òºî¤í¤¦¡¥
¤Þ¤º¤Ï¤³¤Î¾ì¹ç¤Ï´Êñ¤Ê¥ë¡¼¥×ÈǤ«¤é¥Á¥ã¥ì¥ó¥¸¤·¤è¤¦¡¥
¤³¤ì¤ÏÇÛÎó¤ò»È¤¦¤È¤â¤Î¤¹¤´¤¯¤ï¤«¤ê¤ä¤¹¤¯½ñ¤±¤Æ¡¤Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=off,cache=on){{
# Fibonacci ¿ôÎó¤òÇÛÎó¤ÇÊÖ¤¹´Ø¿ô
def fibonacci(n)
  # ºÇ½é¤ÎÆó¤Ä¤Ï´û¤Ë¤ï¤«¤Ã¤Æ¤¤¤ë¡¥
  fb_list = [0,1] 

  # Á°Æó¤Ä¤ò­¤·¤¿¿ô»ú¤òÇÛÎó¤ËÄɲ䷤Ƥ¤¤¯
  for i in 2..n do
    fb_list.push( fb_list[i-2] + fb_list[i-1] )
  end

  # ½ÐÍè¾å¤¬¤Ã¤¿ÇÛÎó¤òÊÖ¤¹
  return fb_list
end
}}

¤³¤ì¤Ç¥ë¡¼¥×ÈǤâ¤Û¤Ü̵Â̤¬¤Ê¤¯¤Ê¤Ã¤¿¡¥
¸µ¤Î¤â¤Î¤ËÈæ¤Ù¤Æ¡¤¤º¤¤¤Ö¤ó®¤¯¤Ê¤Ã¤Æ¤¤¤ë¡¥

&ref(/materials/warning.png); n ¤¬Â礭¤¯¤Ê¤Ã¤¿¾ì¹ç¡¤¤É¤ì¤¯¤é¤¤°ã¤¦¤«Í½ÁÛ¤»¤è¡¥

&br;
*** ³Æ´Ø¿ô¤Î¼ÂÁõ: fibonacci ¿ôÎó¤òÇÛÎó¤Ç: ºÆµ¢ÈÇ: ̵ÂÌ 1 ÇÓ½ü [#sd8d9667]

¤µ¤Æ¡¤¤Þ¤º¤Ï̵ÂÌ 1 ¤òÇÓ½ü¤·¤è¤¦¡¥¤³¤ì¤Ï¸À¤¤´¹¤¨¤ë¤È¡¤F_n ¤òµá¤á¤ë²áÄø¤À¤±¤ÇÁ´ÂΤ¬µá¤Þ¤ì¤Ð¤è¤¤¤Î¤Ç¡¤Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=off,cache=on){{
# Fibonacci ¿ôÎó¤òÇÛÎó¤ÇÊÖ¤¹´Ø¿ô
def fibonacci(n)
  # ¤Þ¤º¡¤½é´üÃͤξì¹ç.
  if (n == 0) then
      return [0]
    elsif (n == 1) then
      return [0,1]
  end

  # °Ê²¼¡¤n >= 2 ¤Î¾ì¹ç.
  # ºÆÄêµÁ¼°¤Ç¤ÏÁ°Æó¤Ä¤Ë·×»»¤ò²¼ÀÁ¤±¤µ¤»¤Æ¡¤
  pp_list = fibonacci(n-2)
  p_list = fibonacci(n-1)

  # Åú¤¨¤ò·×»»¤·¤ÆÇÛÎó¤ËÄɲá¥
  result = pp_list[n-2] + p_list[n-1]
  fb_list = p_list.push(result)

  # ÇÛÎó¤òÊÖ¤¹
  return fb_list
end
}}

¤³¤ì¤Ç̵ÂÌ 1 ¤ÏÇÓ½ü¤Ç¤­¤¿¤³¤È¤Ë¤Ê¤ë¡¥
¤¿¤À¤·¡¤¼Â¹Ô¤·¤Æ¤ß¤ë¤È¤ï¤«¤ë¤¬¤³¤Î¥×¥í¥°¥é¥à¤â¤ä¤Ï¤êÃÙ¤¤¡¥
¤È¤¤¤¦¤Î¤â¡¤ÌµÂÌ 2 ¤¬ÌµÂÌ 1 ¤è¤êÂ礭¤¤¤Î¤Ç¡¤¤½¤Á¤é¤ÎÇÓ½ü¤¬½ÐÍè¤Æ¤¤¤Ê¤¤¤³¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¤Þ¤À¤Þ¤À¤À¤È¤¤¤¦¤³¤È¤Ê¤Î¤Ç¤¢¤ë¡¥


&br;
*** ³Æ´Ø¿ô¤Î¼ÂÁõ: fibonacci ¿ôÎó¤òÇÛÎó¤Ç: ºÆµ¢ÈÇ: ̵ÂÌ 1,2 ÇÓ½ü [#dcb20fb8]
¤µ¤Æ¡¤ÌµÂÌ 2 ¤ÎÇÓ½ü¤â¹Í¤¨¤è¤¦¡¥

¤³¤³¤Ç¾¯¤·ÃúÇ«¤Ë¹Í¤¨¤ëɬÍפ¬¤¢¤ë¡¥²òÀ⤷¤è¤¦¡¥
¤Þ¤º¡¤ÌµÂÌ 2 ¤Ï¡Ö¤ï¤«¤ê¤Ë¤¯¤¤½çÈ֤ǡסֲ¿²ó¤âƱ¤¸¿ô¤¬¡×·×»»¤µ¤ì¤ë¤³¤È¤Ë¤è¤Ã¤ÆȯÀ¸¤¹¤ë¡¥
·×»»¤Î½çÈÖ¤¬¤ï¤«¤ê¤ä¤¹¤±¤ì¤Ð¤½¤ì¤Ë±þ¤¸¤¿¥×¥í¥°¥é¥à¤ò¤¹¤ì¤Ð̵Â̤ò¾Ê¤±¤ë²ÄǽÀ­¤¬¤¢¤ë¤¬¡¤¤³¤Î¾ì¹ç¤Ï¤½¤¦¤â¤¤¤«¤Ê¤¤¡¥

¤½¤³¤Ç¡¤¤³¤¦¤·¤¿¾ì¹ç¤Ë·×»»¤Î½çÈ֤˰͸¤·¤Ê¤¤Âкö¤È¤·¤Æ¡¤
&br;
CENTER:&size(24){''½ÅÊ£¤¹¤ë·×»»¤ò¾Ê¤¯ÊýË¡¤Î°ì¤Ä:''};
CENTER:&size(24){'' ''};
CENTER:&size(24){''²áµî¤Î·×»»·ë²Ì¤òµ­Ï¿¤·¤Æ¤ª¤¤¤Æ¡¤''};
CENTER:&size(24){''·×»»¤ò¤¹¤ëÁ°¤Ë·×»»ºÑ¤ß¤Ç¤Ê¤¤¤«¥Á¥§¥Ã¥¯¤¹¤ë(¥á¥â²½¤â¤É¤­)''};
&br;

¤È¤¤¤¦¼êÃʤ¬¤¢¤ë¡¥
&br;
&ref(/materials/OK.png); ¥á¥â²½¤â¤É¤­¤Ï¡¤ºÆµ¢ÄêµÁ¤Ë¸Â¤é¤º¤¤¤Ä¤Ç¤âÍøÍѤǤ­¤ë¡¥·×»»¤Ë̵Â̤¬¤¢¤ë¤È¤¤¤¦»þ¤ÏÀѶËŪ¤Ë»È¤Ã¤Æ¤ß¤è¤¦¡¥
&br;

¤µ¤Æ¡¤¤³¤Î¾ì¹ç¤Ï¶ñÂÎŪ¤Ë¤Ï¡¤¡Ö³°¤«¤é¼êÅϤ¹¥á¥â¡×¤ò¸«¤Ä¤Ä¡¤·ë²Ì¤¬¤¹¤Ç¤Ë½ñ¤¤¤Æ¤¢¤ì¤Ð¤½¤ì¤òÊÖ¤·¡¤½ñ¤¤¤Æ¤Ê¤±¤ì¤Ð·×»»¤·¤Æµ­Ï¿¤·¡¤¤½¤·¤Æ·ë²Ì¤òÊÖ¤¹¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¡¥
º£²ó¤Î¥×¥í¥°¥é¥à¤À¤È¡¤Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥¤¿¤À¤·¡¤³°¤«¤é¼êÅϤ¹¥á¥â¤Ë¤Ä¤¤¤Æ¤Îµ­½Ò¤âɬÍפʤΤǡ¤Á´ÂΤòºÜ¤»¤è¤¦¡¥
// programu source ɽµ­
#highlighter(language=ruby,number=on,cache=on){{
# ÇÛÎó¤òÀ°Íý¤·¤Æɽ¼¨¤¹¤ë´Ø¿ô
def list_print(ary)
  for i in 0..(ary.size-1) do
    print("F_", i," = ",ary[i],"\n")
  end
end

# Fibonacci ¿ôÎó¤Ë¤Ä¤¤¤Æ¤Î¥á¥â¤òÊÖ¤¹´Ø¿ô
def fibonacci(n, m_list)

  # ´û¤Ë¥á¥â¤Ëµ­Ï¿¤¬¤¢¤ë¤Ê¤é¤Ð,¤½¤Î¤Þ¤Þ¥á¥â¤òÊÖµÑ.
  if (m_list[n] > -1) then
    return m_list
  end

  # °Ê²¼¤Ï¥á¥â¤Ëµ­Ï¿¤¬¤Ê¤«¤Ã¤¿¾ì¹ç¡¥

  # ºÆµ¢ÄêµÁ¼°¤Ç¤ÏÁ°Æó¤Ä¤Ë·×»»¤ò²¼ÀÁ¤±¤µ¤»¤Æ.
  pp_n = fibonacci(n-2, m_list)[n-2]
  p_n = fibonacci(n-1, m_list)[n-1]

  # Åú¤¨¤ò·×»»¤·¤Æ¥á¥â¤Ëµ­Ï¿¡¥
  m_list[n] = pp_n + p_n

  # ¥á¥â¤òÊÖµÑ.
  return m_list
end

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

# ¾å¸ÂÃͤò¤â¤é¤Ã¤Æ¡Ä
n_upper = ARGV[0].to_i

# fibonacci ´Ø¿ô¤ËÅϤ¹¥á¥â¤òºî¤ë(-1 ¤Ç¡Ö̤µ­Ï¿¡×¤ò°ÕÌ£¤µ¤»¤Æ¤ß¤ë)¡¥
memo = Array.new( n_upper+1 ){ -1 }
memo[0] = 0
memo[1] = 1 

# Fibonacci ¿ôÎó¤òÇÛÎó¤Çµá¤á¤ë¡¥¤Û¤È¤ó¤É̤µ­Æþ¤Î¥á¥â¤òÅϤ¹¤È¡¤µ­Æþ¤µ¤ì¤ÆÊ֤äƤ¯¤ë.
fb_list = fibonacci(n_upper, memo)

# ÆÀ¤é¤ì¤¿·ë²Ì¤òɽ¼¨
list_print(fb_list)
}}
¤µ¤Æ¡¤¤³¤ì¤òÆ°¤«¤·¤Æ¤ß¤è¤¦¡¥
̵Â̤¬Á´¤¯Ìµ¤¯¤Ê¤Ã¤¿¤ï¤±¤Ç¤Ï¤Ê¤¤¤¬¡¤¤½¤ì¤Ç¤â¡¤ºÆµ¢ÄêµÁ¤Ç¤¢¤ë¤Ë¤â¤«¤«¤ï¤é¤º¹â®¤ËÆ°ºî¤¹¤ë¤³¤È¤¬Ê¬¤«¤ë¤À¤í¤¦¡¥

&br;
* ʸ»úÎó½èÍý [#g78b8481]

¤µ¤Æ¡¤º£²ó¤Ï¾¯¤·ÌÓ¿§¤òÊѤ¨¤Æʸ»úÎó½èÍý¤Ë¤Ä¤¤¤Æ³Ø¤Ü¤¦¡¥
ʸ»úÎó¤È¤Ïʸ»ú¤Î½¸¹ç¤Ç¡¤ÂçÄñ¤Î¥³¥ó¥Ô¥å¡¼¥¿¸À¸ì¤Ç¤ÏÇÛÎó¤Î¤è¤¦¤Ê°·¤¤¤ò¼õ¤±¤ë¤â¤Î¤È»×¤Ã¤ÆÎɤ¤¡¥

¤Þ¤º¤Ï°Ê²¼¤Ë´Êñ¤Êʸˡ¤Îɽ¤ò¼¨¤½¤¦¡¥

''ʸ»úÎó½èÍý ´Ê°×ɽ''
| Áàºî | ʸˡÀâÌÀ | Îã. s="aiueo kakiku keko" ¤È¤·¤Æ¤¤¤ë |h
| ¥³¥Ô¡¼ | .dup ¤ò¤Ä¤±¤ÆÂåÆþ¤¹¤ë¡¥&color(blue){¤¤¤¯¤Ä¤«¤Î¥³¥ó¥Ô¥å¡¼¥¿¸À¸ì¤Ç¤Ïʸ»úÎó¤Î¥³¥Ô¡¼¤ÏÆüì¤Ê¤Î¤ÇÍ×Ãí°Õ¡¥}; | a = s.dup ¤È¤¹¤ë¤È a ¤Ï s ¤ÈƱ¤¸Ãæ¿È¤ò¤â¤Äʸ»úÎó¤Ë¤Ê¤ë¡¥&color(blue){¤±¤·¤Æ a = s ¤È¤·¤Ê¤¤¤³¤È!}; |
| Ťµ | .length ¤ò¤Ä¤±¤ë | s.length ¤Ï 17 ¤Ë¤Ê¤ë |
| Ï¢·ë | + ¤ò»È¤¦ | s + "sa" ¤Ï "aiueo kakiku kekosa" ¤Ë¤Ê¤ë |
| ¾å½ñ¤­Ï¢·ë | << ¤ò»È¤¦ | s << "sa" ¤Ï&color(blue){ s ¤¬½ñ¤­´¹¤¨¤é¤ì¤Æ}; "aiueo kakiku kekosa" ¤Ë¤Ê¤ë |
| ¶õÇò¤Çʬ³ä | .split() ¤ò¤Ä¤±¤ë. ·ë²Ì¤ÏÇÛÎó. | s.split() ¤Ï ["aiueo", "kakiku", "keko"] ¤Ë¤Ê¤ë |
| ¤¢¤ëʸ»ú¤Çʬ³ä | .split("¤½¤Îʸ»ú") ¤ò¤Ä¤±¤ë¡¥·ë²Ì¤ÏÇÛÎó¡¥ | s.split("i") ¤Ï ["a", "ueo kak", "ku keko"] ¤Ë¤Ê¤ë |
| nÈÖÌܤÎʸ»ú¤ò»ØÄê (*1) | ÇÛÎóƱÍÍ¡¤[n-1] ¤ò¤Ä¤±¤ë¡¥&color(blue){¤³¤Î¾ì¹ç¤À¤±·ë²Ì¤¬Ê¸»ú¥³¡¼¥É¤Ê¤Î¤ÇÍ×Ãí°Õ};¡¥ | s[4] ¤Ï 111 ¤Ë¤Ê¤ë(111 ¤Ï "o" ¤Îʸ»ú¥³¡¼¥É) |
| ʸ»ú¥³¡¼¥É¤òʸ»ú¤Ëľ¤¹ | .chr ¤ò¤Ä¤±¤ë | s[4].chr ¤Ï "o" ¤Ë¤Ê¤ë |
| iʸ»úÌܤ«¤é jʸ»úÌܤޤǤÎÉôʬʸ»úÎó¤ò»ØÄê (*2) | [(i-1)..(j-1)] ¤ò¤Ä¤±¤ë. | s[0..4] ¤Ï "aiueo" ¤Ë¤Ê¤ë |
| iʸ»úÌܤ«¤é n¸Ä¤Îʸ»ú¤ÎÉôʬʸ»úÎó¤ò»ØÄê (*3) | [(i_1),n] ¤ò¤Ä¤±¤ë | s[0,5] ¤Ï "aiueo" ¤Ë¤Ê¤ë |
| »ØÄꤷ¤¿Éôʬ¤òÃÖ¤­´¹¤¨¤ë. | »ØÄꤷ¤¿Éôʬ = "¿·¤·¤¤Ê¸»úÎó" ¤È¤¹¤ë¤À¤±¤Ç¤è¤¤¡¥»ØÄꤷ¤¿Éôʬ¤È¿·¤·¤¤Ê¸»úÎó¤ÎŤµ¤Ï°ã¤Ã¤ÆÎɤ¤. &color(blue){(*1,2,3)¤¹¤Ù¤Æ¤Ç»È¤¨¤ë};. | s[4] = "z" ¤È¤¹¤ë¤È s ¤Ï "aiuez kakiku keko" ¤Ë¤Ê¤ë |
| º¸¸¡º÷ | .index("¸¡º÷¤·¤¿¤¤Ê¸»úÎó") ¤ò¤Ä¤±¤ë¤È¡¤º¸¤«¤éõ¤·¤Æ½é¤á¤Æ¸«¤Ä¤«¤Ã¤¿°ÌÃÖ¤òÊÖ¤¹ |  s.index("u") ¤Ï 2 ¤Ë¤Ê¤ë |
| ±¦¸¡º÷ | .rindex("¸¡º÷¤·¤¿¤¤Ê¸»úÎó") ¤ò¤Ä¤±¤ë¤È¡¤±¦¤«¤éõ¤·¤Æ½é¤á¤Æ¸«¤Ä¤«¤Ã¤¿°ÌÃÖ¤òÊÖ¤¹ |  s.rindex("u") ¤Ï 11 ¤Ë¤Ê¤ë |
| º¸¸¡º÷ ¾ì½ê»ØÄê | .index("¸¡º÷¤·¤¿¤¤Ê¸»úÎó",ʸ»ú°ÌÃÖ) ¤ò¤Ä¤±¤ë¤È¡¤»ØÄꤷ¤¿Ê¸»ú°ÌÃÖ¤«¤é»Ï¤á¤Æ¡¤º¸¤«¤éõ¤·¤Æ½é¤á¤Æ¸«¤Ä¤«¤Ã¤¿°ÌÃÖ¤òÊÖ¤¹ |  s.index("u",2) ¤Ï 2 ¤Ë¤Ê¤ë¤¬ s.index("u",3) ¤Ï 11 ¤Ë¤Ê¤ë |
| ±¦¸¡º÷ ¾ì½ê»ØÄê | .rindex("¸¡º÷¤·¤¿¤¤Ê¸»úÎó",ʸ»ú°ÌÃÖ) ¤ò¤Ä¤±¤ë¤È¡¤»ØÄꤷ¤¿Ê¸»ú°ÌÃÖ¤«¤é»Ï¤á¤Æ¡¤±¦¤«¤éõ¤·¤Æ½é¤á¤Æ¸«¤Ä¤«¤Ã¤¿°ÌÃÖ¤òÊÖ¤¹ |  s.rindex("u",11) ¤Ï 11 ¤Ë¤Ê¤ë¤¬ s.rindex("u",10) ¤Ï 2 ¤Ë¤Ê¤ë |
| ¸¡º÷andÃÖ´¹(°ì²Õ½ê¤Î¤ß) | .sub("ÃÖ¤­´¹¤¨¤¿¤¤¸Å¤¤Ê¸»úÎó", "ÃÖ¤­´¹¤¨¤¿¤¤¿·¤·¤¤Ê¸»úÎó") ¤ò¤Ä¤±¤ë. &color(blue){ºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿°ì²Õ½ê¤À¤±¤¬ÃÖ´¹¤µ¤ì¤ë}; |  s.sub("a","A") ¤È¤¹¤ë¤È¡¤s ¤Ï "Aiueo kakiku keko" ¤Ë¤Ê¤ë |
| ¸¡º÷andÃÖ´¹(Á´Éô) | .gsub("ÃÖ¤­´¹¤¨¤¿¤¤¸Å¤¤Ê¸»úÎó", "ÃÖ¤­´¹¤¨¤¿¤¤¿·¤·¤¤Ê¸»úÎó") ¤ò¤Ä¤±¤ë.  &color(blue){³ºÅö²Õ½êÁ´Éô¤¬ÃÖ´¹¤µ¤ì¤ë}; |  s.gsub("a","A") ¤È¤¹¤ë¤È¡¤s ¤Ï "Aiueo kAkiku keko" ¤Ë¤Ê¤ë |
| ºÇ¸å¤Ë²þ¹Ôʸ»ú¤¬Æþ¤Ã¤Æ¤¤¤ì¤Ðºï½ü¤¹¤ë | .chomp! ¤ò¤Ä¤±¤ë | (°ÊÁ°¤ä¤Ã¤¿¤Í)|
| ¿ô»ú¤Ê¤É¤òʸ»úÎó¤ËÊÑ´¹¤¹¤ë | .to_s ¤ò¤Ä¤±¤ë |  1234.to_s ¤Ï "1234" ¤Ë¤Ê¤ë |

&br;
** ´·¤ì¤Æ¤ß¤è¤¦: 3¤¬¤Ä¤¯¿ô»ú¡Ä [#k2953cd7]
¤Þ¤º¤Ï´Êñ¤ÊÎãÂê¤Ç´·¤ì¤è¤¦¡¥

&ref(/materials/notes.png); (°ÊÁ°¤È¤ê¤¢¤²¤¿) 3¤ÎÇÜ¿ô or 3¤¬¤Ä¤¯¿ô¤Ë¤Ä¤¤¤Æ¤Î¤ßÆüì¤Êɽ¼¨¤ò¹Ô¤¦´Ø¿ô¤òºî¤ê¡¤¤½¤ì¤ò»È¤Ã¤Æµ¯Æ°»þ¤ËÍ¿¤¨¤¿¿ô»ú(30 ¤°¤é¤¤¤òÁÛÄê)¤Þ¤Ç¤½¤Î´Ø¿ô¤Çɽ¼¨¤µ¤»¤Æ¤ß¤è¤¦¡¥
&br;
¤³¤ì¤ÏÎ㤨¤Ð
  ruby -w test.rb 30

¤È¤·¤Æ¼Â¹Ô¤¹¤ë¤È¡¤
>  1
>  2
>  !!!!
>  4
>  5
>  !!!!
>  7
>  8
>  !!!!
>  10
>  11
>  !!!!
>  !!!!
>  14
>  !!!!
>  16
>  17
>  !!!!
>  19
>  20
>  !!!!
>  22
>  !!!!
>  !!!!
>  25
>  26
>  !!!!
>  28
>  29
>  !!!!

¤È¤¤¤¦¤è¤¦¤Ê·ë²Ì¤¬¤Ç¤ë¤è¤¦¤Ë¤»¤è¡¤¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¡¥
&br;

&ref(/materials/warning.png); (¾åµé¼Ô¸þ¤±) ''index'' ¤Ç¸¡º÷ʸ»úÎ󤬸«¤Ä¤«¤Ã¤¿¾ì¹ç¤ÏÀ°¿ô¤¬Åú¤Ë¤Ê¤ê¡¤¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤ÏÅú¤¨¤Ï nil ¤È¤¤¤¦Æüì¤Ê¤â¤Î¤Ë¤Ê¤ë¡¥
¤½¤·¤Æ¡¤
&br;
CENTER:&size(24){''Ruby ¤Ï nil ¤È false ¤ò¡Öµ¶¡×¤È¤·¤Æ°·¤¤¡¤''};
CENTER:&size(24){''¤½¤ì°Ê³°¤Ï¡Ö¿¿¡×¤È¤·¤Æ°·¤¦''};
&br;

¤Î¤Ç¡¤''index'' ¼°¤ò¤½¤Î¤Þ¤Þ ''if'' ʸ¤Ê¤É¤ÎȽÄêÉôʬ¤Ë»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡¥
´¶³Ð¤È¤·¤Æ¤Ï¡¤''s = gets'' ¤ò ''while'' ¤Î¾ò·ï¤Ë»È¤¦¤Î¤Ë¤è¤¯»÷¤Æ¤¤¤ë¡¥


&br;
** µÕ¤µ¤Î¿ô»ú¤âÁÇ¿ô¤«? [#bba9bd4d]

¤Ò¤Ã¤¯¤êÊÖ¤·¤Æ¤âÁÇ¿ô¤Ë¤Ê¤ë¤è¤¦¤ÊÁÇ¿ô¤òõ¤¹¤³¤È¤ò¹Í¤¨¤ë¡¥

¶ñÂÎŪ¤Ë¤Ï¡¤Î㤨¤Ð 113 ¤ÏÁÇ¿ô¤Ç¡¤¤½¤ì¤òÁ°¸å¤Ò¤Ã¤¯¤êÊÖ¤·¤¿¿ô»ú 311 ¤â¤ä¤Ï¤êÁÇ¿ô¤Ç¤¢¤ë¡¥
(ÅöÁ³¡¤Æó·å°Ê¾å¤Ç¤Ê¤¤¤È°ÕÌ£¤¬¤Ê¤¤¤Í)

&ref(/materials/notes.png);  ¤³¤¦¤·¤¿¿ô»ú(¤ÎÁÈ)¤ò¡¤11°Ê¾å»ØÄꤷ¤¿¿ô»ú°Ê²¼¤ÎÈϰϤ«¤é¸«¤Ä¤±¤ÆÎóµó¤¹¤ë¥×¥í¥°¥é¥à¤òºî¤í¤¦¡¥
&br;
¶ñÂÎŪ¤Ë¤Ï¡¤Î㤨¤Ð
  ruby -w inv.rb 800
¤È¤·¤Æ¼Â¹Ô¤¹¤ë¤È¡¤
>  (11, 11) are prime numbers.
>  (13, 31) are prime numbers.
>  (17, 71) are prime numbers.
>  (31, 13) are prime numbers.
>  (37, 73) are prime numbers.
>  (71, 17) are prime numbers.
>  (73, 37) are prime numbers.
>  (79, 97) are prime numbers.
>  (97, 79) are prime numbers.
>  (101, 101) are prime numbers.
>  (107, 701) are prime numbers.
>  (113, 311) are prime numbers.
>  (131, 131) are prime numbers.
>  (149, 941) are prime numbers.
>  (151, 151) are prime numbers.
>  (157, 751) are prime numbers.
>  (167, 761) are prime numbers.
>  (179, 971) are prime numbers.
>  (181, 181) are prime numbers.
>  (191, 191) are prime numbers.
>  (199, 991) are prime numbers.
>  (311, 113) are prime numbers.
>  (313, 313) are prime numbers.
>  (337, 733) are prime numbers.
>  (347, 743) are prime numbers.
>  (353, 353) are prime numbers.
>  (359, 953) are prime numbers.
>  (373, 373) are prime numbers.
>  (383, 383) are prime numbers.
>  (389, 983) are prime numbers.
>  (701, 107) are prime numbers.
>  (709, 907) are prime numbers.
>  (727, 727) are prime numbers.
>  (733, 337) are prime numbers.
>  (739, 937) are prime numbers.
>  (743, 347) are prime numbers.
>  (751, 157) are prime numbers.
>  (757, 757) are prime numbers.
>  (761, 167) are prime numbers.
>  (769, 967) are prime numbers.
>  (787, 787) are prime numbers.
>  (797, 797) are prime numbers.

¤È¤¤¤¦¤è¤¦¤Ê½ÐÎϤò¤¹¤ë¥×¥í¥°¥é¥à¤ò½ñ¤³¤¦¡¤¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¡¥
&br;

&ref(/materials/warning.png); ʸ»úÎó¤Î½ç½ø¤òµÕ¤µ¤Þ¤Ë¤¹¤ëÌ¿Îá¤â¤¢¤ë¤±¤ì¤É¤â¡¤Îý½¬¤Î¤¿¤á¤Ë¼«Ê¬¤Ç½ñ¤¤¤Æ¤ß¤è¤¦¡¥

&br;
* º£Æü¤ÎÁí»Å¾å¤² [#wb2ab5c3]

°Ê²¼¡¤¤¹¤³¤·¤ä¤ä¤³¤·¤¤? ÌäÂê¤Ê¤Î¤ÇÎý½¬¤â´Þ¤á¡¤¤¤¤¯¤Ä¤«¤Ëʬ¤±¤è¤¦¡¥

&br;
** ¿ô¤¢¤Æ¥²¡¼¥à¤Î½àÈ÷ [#s3dfc007]

Æó¤Ä¤Î¡Ö·å¿ô¤¬Æ±¤¸¡×¿ô·å¤ÎÀ°¿ô n, m ¤¬¤¢¤ë¤È¤·¤è¤¦¡¥
¤½¤·¤Æ¡¤n ¤Î 1¤Î°Ì¤Î¿ô¤ò a_1, 10 ¤Î°Ì¤Î¿ô¤ò a_2, 100 ¤Î°Ì¤Î¿ô¤ò a_3, ... m ¤Î 1¤Î°Ì¤Î¿ô¤ò b_1, 10 ¤Î°Ì¤Î¿ô¤ò b_2, 100 ¤Î°Ì¤Î¿ô¤ò b_3, ... ¤È¤ª¤¯¡¥
¤³¤Î¤È¤­¡¤°Ê²¼¤Î¤è¤¦¤Ê¾ò·ï¤òËþ¤¿¤¹¥×¥í¥°¥é¥à¤ò½ñ¤³¤¦¡¥

+ n, m ¤Ï¥×¥í¥°¥é¥à¤Îµ¯Æ°»þ¤Ë¥Ñ¥é¥á¡¼¥¿¤È¤·¤ÆÍ¿¤¨¤é¤ì¤ë¡¥
+ X ¤È Y ¤È¤¤¤¦¿ô¤ò¼¡¤Î¤è¤¦¤ËÄêµÁ¤¹¤ë¡¥
++ ¤â¤·¤â a_i = b_i ¤Ê¤é¤Ð X_i =  1, ¤½¤¦¤Ç¤Ê¤±¤ì¤Ð X_i = 0.
++ a_i = b_i ¤Ç¤Ï¤Ê¤¤¤¬¡¤b_i ¤ÈƱ¤¸ a_j ¤¬¤¢¤ë¤Ê¤é¤Ð Y_i = 1, ¤½¤¦¤Ç¤Ê¤±¤ì¤Ð Y_i = 0.
++ ¤â¤·¤â a_i = b_i ¤Ê¤é¤Ð X_i =  1, ¤½¤¦¤Ç¤Ê¤±¤ì¤Ð X_i = 0.  X_i = 1 ¤È¤·¤¿ a_i, b_i ¤Ï°Ê¹ß¤ÏÄ´ººÂоݤȤ·¤Ê¤¤¡¥
++ ¤µ¤é¤Ë¡¤a_i = b_i ¤Ç¤Ï¤Ê¤¤¤¬¡¤b_i ¤ÈƱ¤¸ a_j ¤¬¤¢¤ë¤Ê¤é¤Ð Y_i = 1, ¤½¤¦¤Ç¤Ê¤±¤ì¤Ð Y_i = 0.  Y_i = 1 ¤È¤·¤¿ a_j, b_i ¤Ï°Ê¹ß¤ÏÄ´ººÂоݤȤ·¤Ê¤¤¡¥
++ X = X_i ¤Î¹ç·×¡¤Y= Y_i ¤Î¹ç·×
+ n, m ¤ËÂФ·¤Æ¡¤¾å¤Î X, Y ¤ò·×»»¤·¡¤½ÐÎϤ¹¤ë´Ø¿ô xy(n,m) ¤¬¥×¥í¥°¥é¥àÃæ¤Ë¤¢¤ë¡¥
+ xy(n,m) ¤ò»È¤Ã¤Æµá¤á¤¿ X, Y ¤òɽ¼¨¤¹¤ë¡¥

¤³¤ì¤ÏÎ㤨¤Ð¡¤
  ruby -w xy.rb 12345 54321

¤È¤·¤Æ¼Â¹Ô¤¹¤ë¤È¡¤
>  X: 1, Y: 4

¤È¤¤¤¦½ÐÎϤòÊÖ¤¹¤è¤¦¤Ë¤·¤í¡¤¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¡¥
(¯¤Ë¸À¤¦ Hit and Blow ¤È¸Æ¤Ð¤ì¤ë¿ô¤¢¤Æ¥²¡¼¥à¤Î¥ë¡¼¥ë¤Ç¤¢¤ë¡¥¤è¤¯ÃΤé¤Ê¤¤¿Í¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¤ÇÄ´¤Ù¤Æ¤ß¤è¤¦)

&br;
** ¿ô¤¢¤Æ¥²¡¼¥à [#zc6b962a]

¾å¤Î¡Ö½àÈ÷¡×¤òÍøÍѤ·¤Æ¿ô¤¢¤Æ¥²¡¼¥à¤òºî¤í¤¦¡¥
¾å¤Î n ¤ËÁêÅö¤¹¤ë¿ô¤ò¥×¥í¥°¥é¥à¤ËÍð¿ô¤Çºî¤é¤»¤Æ¡¤¿Í´Ö¤¬ÆþÎϤ·¤¿¿ô¤ËÂФ·¤Æ X, Y ¤ò½ÐÎϤ¹¤ë¤³¤È¤Ç¥Ò¥ó¥È¤òÍ¿¤¨¡¤¤¢¤Æ¤ë¤Þ¤ÇÆþÎϤò·«¤êÊÖ¤»¤ë¤è¤¦¤Ë¤·¤è¤¦¡¥
¤³¤Î¤È¤­¡¤¾ò·ï¤Ï°Ê²¼¤ÎÄ̤ꡥ

+ ¡Ö²¿·å¤Î n ¤Ë¤¹¤ë¤«¡×¤Î·å¿ô¤Ï¥×¥í¥°¥é¥à¤Îµ¯Æ°»þ¤Ë¥Ñ¥é¥á¡¼¥¿¤È¤·¤ÆÍ¿¤¨¤é¤ì¤ë¡¥
+ n ¤ÏÍð¿ô¤ÇÀ¸À®¤µ¤ì¤ë¡¥
+ ¿Í´Ö¤ÎÆþÎÏ¤Ï ''gets'' ¤Ç¼õ¤±¤ë¡¥
+ ÆþÎϤò¼õ¤±¤¿¤é X, Y ¤ò½ÐÎϤ·¡¤ºÆ¤ÓÆþÎϤòÂԤĤ褦¤Ë¤¹¤ë¡¥
+ n ¤ÈÁ´¤¯Æ±¤¸À°¿ô¤ò¿Í´Ö¤¬ÆþÎϤ·¤¿¤é¡¤¤½¤Î»Ý¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë¡¥

&ref(/materials/warning.png); µ¯Æ°»þ¤Ë¥Ñ¥é¥á¡¼¥¿¤òÍ¿¤¨¤ë¤È¡¤''gets'' ¤Ï¤½¤ì¤ò¥Õ¥¡¥¤¥ë̾¤À¤È¤ß¤Ê¤·¤Æ¤½¤³¤«¤éÆɤ߹þ¤â¤¦¤È¤¹¤ë¡¥ º£²ó¤Ï¤³¤ì¤Ïº¤¤ë¤Î¤Ç¡¤Ã±¤Ë ''gets'' ¤È¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¤''$stdin.gets'' ¤È¤¤¤¦¥³¥Þ¥ó¥É¤È¤·¤Æ»È¤ª¤¦¡¥
&br;

Î㤨¤Ð¡¤¥Æ¥¹¥È¤Î¤¿¤á¤Ë ''n'' ¤ò½ÐÎϤµ¤»¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¤¤Æ¤³¤Î¥×¥í¥°¥é¥à¤ò
  ruby -w hb.rb 2
¤Ê¤É¤È¤·¤Æµ¯Æ°¤¹¤ë¤È¡¤¼¡¤Î¤è¤¦¤Ë¤ä¤ê¤È¤ê¤Ç¤­¤ë¤³¤È¤Ë¤Ê¤ë¡¥

>  Ans: 29
>  m? : 21
>  X: 1, Y: 0
>  m? : 12
>  X: 0, Y: 1
>  m? : 19
>  X: 1, Y: 0
>  m? : 91
>  X: 0, Y: 1
>  m? : 92
>  X: 0, Y: 2
>  m? : 29
>  Conguratulaions!

&br;
** (¾åµé¼Ô¸þ¤±) ¿ô¤¢¤Æ¥²¡¼¥à: ¥³¥ó¥Ô¥å¡¼¥¿¤¬Ä©¤ó¤Ç¤¯¤ë [#zc879f28]

¾å¤Î¥²¡¼¥à¤Î¥ë¡¼¥ë¤Ç¡¤¿Í´Ö¤¬ÌäÂê¤ò½Ð¤·¤Æ¥³¥ó¥Ô¥å¡¼¥¿¤¬¿ô¤òÅö¤Æ¤è¤¦¤È¤·¤Æ¤¯¤ë¤È¤¤¤¦¥×¥í¥°¥é¥à¤òºî¤ì¤ë¤À¤í¤¦¤«¡¥


&br;
* ¥ì¥Ý¡¼¥È [#ya7fa5f4]

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

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

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

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

* about Icons, ClipArts [#c13e71ea]
Some icons in this page are downloadable at [[ICONFINDER:http://www.iconfinder.net/]].

The "note" icon &ref(/materials/notes.png); designed by [[Marco Martin:http://www.notmart.org/]] is distributed with the LGPL licence,
the "warning" icon &ref(/materials/warning.png); designed by [[Alexandre Moore:http://nuovext.pwsp.net/]] with the GPL licence
and the "triangle" icon &ref(/materials/JNorth_arrow-right-sm.png); designed by [[Joseph North:http://sweetie.sublink.ca/]] is distributed with the [[Creative Commons (Attribution-Noncommercial-Share Alike 3.0 Unported):http://creativecommons.org/licenses/by-nc-sa/3.0/]] licence.

Some clip arts used in this page are downloadable at [[Open Clip Art Library:http://www.openclipart.org/]].
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.

// ¨¬¨­¨®¨¯¨°¨±¨²¨³¨´¨µ¨¶


// ¥³¥Þ¥ó¥É¥é¥¤¥óÆþÎϤϡֹÔƬ¤ò¥Ö¥é¥ó¥¯¤Ç»Ï¤á¤ë¡×.
// ¥³¥Þ¥ó¥É¥é¥¤¥ó½ÐÎϤϡֹÔƬ¤ò > ¤Ç»Ï¤á¤ë¡×.

// ¼Â½¬¥¢¥¤¥³¥ó
// &ref(/materials/notes.png); 

// Ãí°Õ¥¢¥¤¥³¥ó
// &ref(/materials/warning.png);

// Link ¥¢¥¤¥³¥ó
// &ref(/materials/JNorth_arrow-right-sm.png);

// Âçʸ»ú¤Ç¤Î¶¯Ä´ 
// CENTER:&size(24){''¤Û¤²¤Û¤²''};

// programu source ɽµ­
// #highlighter(language=ruby,number=on,cache=on){{}}