¼ø¶È»ñÎÁ/12

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

¤µ¤Æ¡¤Á°²ó¤Î²ÝÂê¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦¡¥²ÝÂê¤òºÆ·Ç¤¹¤ë¤È°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¢¤ë¡¥

¥Õ¥¡¥¤¥ëÁàºî¤È¥Õ¥¡¥¤¥ëÆþ½ÐÎϤÎξÊý¤ò»È¤¦É¬Íפ¬¤¢¤ë¡¤¼¡¤Î¾ò·ï¤òËþ¤¿¤¹¥×¥í¥°¥é¥à¤ò½ñ¤±¡¥¤¿¤À¤·¾ò·ï¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡¥

  1. ÆþÎÏÍѤΥǡ¼¥¿¤¬Æþ¤Ã¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë̾¤ò°ì¤Ä¤á¤Îµ¯Æ°¥Ñ¥é¥á¡¼¥¿¤È¤·¤Æ¤â¤é¤¦
  2. ¼Â¹Ô»þ¤Ë¤Þ¤º¤ÏºÇ½é¤Ë¥Õ¥¡¥¤¥ë¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¹Ô¤¦
  3. Æó¤Ä¤á¤Îµ¯Æ°¥Ñ¥é¥á¡¼¥¿¤Ï1ʸ»ú¤Ç¤¢¤ë¡¥¤½¤Îʸ»ú¤ò c ¤Èɽ¤·¤Æ¤ª¤¯¤È¡¤¥×¥í¥°¥é¥à¤ÏÆþÎϥǡ¼¥¿¤Î³Æ¹Ô¤¬¤½¤Îʸ»ú c ¤ò²¿Ê¸»ú´Þ¤ó¤Ç¤¤¤ë¤«¤òÄ´¤Ù¡¤output.dat ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ë¹ÔÈÖ¹æ¤È¶¦¤Ë½ÐÎϤ¹¤ë.


Á´Âι½Â¤

¤¤¤Ä¤â¤Î¤è¤¦¤Ë¡¤¤Þ¤º¤ÏÁ´Âι½Â¤¤«¤é»Ï¤á¤è¤¦¡¥
ÌÌÅݤʤȤ³¤í¤Ï´Ø¿ô¤ËÄɤ¤½Ð¤¹´ðËܤ˧¤Ã¤Æ¡¤¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥

  1. include Math
  2. require "fileutils"
  3.  
  4. # Ê¸»úÎó¤Èʸ»ú¤ò¤â¤é¤¦¤È¡¤¤½¤Îʸ»ú¤¬²¿²ó¤Ç¤Æ¤¯¤ë¤«¤ò¥«¥¦¥ó¥È¤¹¤ë
  5. def c_count(st, c)
  6.   # ¼ÂÁõ¤Ï¤¢¤È¤Ç
  7.   return 0
  8. end
  9.  
  10. # ¥Õ¥¡¥¤¥ë̾¤ò¤â¤é¤¦¤È¡¤¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¹Ô¤¦
  11. def backup(fn)
  12.   # ¼ÂÁõ¤Ï¸å¤Ç
  13. end
  14.  
  15.  
  16. # °Ê²¼¡¤¥×¥í¥°¥é¥àËÜÂÎ
  17.  
  18. # ÆþÎÏ¥Õ¥¡¥¤¥ë̾
  19. input_fn = ARGV[0]
  20.  
  21. # ¤Ê¤ó¤é¤«¤ÎÁàºî¤ò¤¹¤ëÁ°¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¡ª
  22. backup(input_fn)
  23.  
  24. # ¸¡º÷¤¹¤Ù¤­Ê¸»ú
  25. search_char = ARGV[1]
  26.  
  27. # Æþ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î¥ª¡¼¥×¥ó
  28. in_f = open(input_fn,"r")
  29. out_f = open("output.dat","w")
  30.  
  31. # °ì¹Ô¤º¤ÄÆɤ߹þ¤ó¤Ç¡¤Ê¸»ú¤ò¥«¥¦¥ó¥È, ½ÐÎÏ
  32. line_number = 1
  33. while (line = in_f.gets) do
  34.   line.chomp!
  35.  
  36.   # ¤½¤Î¹Ô¤Ë¤½¤Îʸ»ú¤¬²¿Ê¸»úÆþ¤Ã¤Æ¤¤¤ë¤«¿ô¤¨¤ë¡¥
  37.   count = c_count(line,search_char)
  38.  
  39.   # ·ë²Ì¤ò½ÐÎϤ¹¤ë
  40.   out_f.print(line_number, " : ", count, "\n")
  41.  
  42.   # º£ ²¿¹ÔÌܤ«¤Î¥«¥¦¥ó¥È¤òÁý¤ä¤¹
  43.   line_number += 1
  44. end
  45.  
  46. # ¥Õ¥¡¥¤¥ë¤Î²òÊü
  47. in_f.close
  48. out_f.close

warning.png ¥Ý¥¤¥ó¥È¤Ï¡¤¡Ö¥Ð¥Ã¥¯¥¢¥Ã¥×Áàºî¤Ï²Äǽ¤Ê¸Â¤êÁá¤á¤ÎÃʳ¬¤Ç¹Ô¤¦¡×¤È¤¤¤¦ÅÀ¤À¡¥



NG.png ¥Ð¥Ã¥¯¥¢¥Ã¥×Áàºî¤ÎÁ°¤Ë¾¤ÎÁàºî¡¤Æä˥ե¡¥¤¥ë¤Î open ¤Ê¤É¤ò¹Ô¤¦¤Î¤Ï¤Ê¤ë¤Ù¤¯Èò¤±¤ë¤Ù¤·¡¥
¤³¤ì¤Ï¡¤open ¤Î¥â¡¼¥É»ØÄê¤ò´Ö°ã¤¨¤ë¤È¡¤¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤¬Ìµ¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤«¤é¤À¡¥¥Ð¥Ã¥¯¥¢¥Ã¥×¤Ï¤½¤¦¤·¤¿¡Ö´í¸±¤ÊÁàºî¡×¤Î°­±Æ¶Á¤ò¼õ¤±¤Ê¤¤¤è¤¦¤Ë¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤òËü¤¬°ì¤ËÈ÷¤¨¤Æ¤È¤Ã¤Æ¤ª¤¯¤³¤È¤Ê¤Î¤À¤«¤é¡¤½çÈ֤Ϥ褯¤è¤¯¹Í¤¨¤è¤¦¡¥

¤À¤«¤é¡¤

Ëü¤¬°ì¤Î°­±Æ¶Á¤òͽ¬¤·¤Æ
¥×¥í¥°¥é¥à¤òºî¤ë¤Ù¤·

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


´Ø¿ô¤Î¼ÂÁõ: ¥Ð¥Ã¥¯¥¢¥Ã¥×

¤Þ¤º¤Ï´Êñ¤Ê¥Ð¥Ã¥¯¥¢¥Ã¥×´Ø¿ô¤Î¼ÂÁõ¤À¡¥¤È¤¤¤Ã¤Æ¤âñ¤Ë¥³¥Ô¡¼¤ò¤¹¤ì¤Ð¤Þ¤º¤ÏÍѤÏ­¤ê¤ë¤Î¤Ç¡¤¼¡¤Î¤è¤¦¤Ë´Êñ¤Ë½ñ¤±¤ë¡¥
¤â¤Á¤í¤ó¡¤²¿Âåʬ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë¤È¤«¡¤º¹Ê¬¤ò¤È¤Ã¤Æ°µ½Ì¤ò¤«¤±¤Æ̵Â̤ò¸º¤é¤¹¤È¤«¡¤¤­¤Á¤ó¤È¤·¤¿¥Ð¡¼¥¸¥ç¥ó¥³¥ó¥È¥í¡¼¥ë¥½¥Õ¥È¤ò»È¤¦¤È¤«¡¤±þÍѤϤ¤¤¯¤é¤Ç¤â¤¢¤ë¤Î¤Ç¡¤Ä´¤Ù¤Æ¤ß¤ë¤Î¤â¤è¤¤¤À¤í¤¦¡¥

# ¥Õ¥¡¥¤¥ë̾¤ò¤â¤é¤¦¤È¡¤¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¹Ô¤¦
def backup(fn)

  # ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë̾¤òºî¤ë¡¥
  bk_fn = fn + ".bak"

  # ¥Ð¥Ã¥¯¥¢¥Ã¥×(ñ¤Ê¤ë¥³¥Ô¡¼)
  FileUtils.cp(fn,bk_fn)

end


´Ø¿ô¤Î¼ÂÁõ: ʸ»ú¤ò¿ô¤¨¤ë

¤³¤Á¤é¤Î´Ø¿ô¤â¤½¤ó¤Ê¤ËÂçÊѤǤϤʤ¤¡¥º£¤Þ¤Ç¤ÎÃ챤ÎÈÏ°ÏÆâ¤ÇÁÇľ¤Ë¹Í¤¨¤ì¤ÐÎ㤨¤Ð°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¤À¤í¤¦¡¥

# ʸ»úÎó¤Èʸ»ú¤ò¤â¤é¤¦¤È¡¤¤½¤Îʸ»ú¤¬²¿²ó¤Ç¤Æ¤¯¤ë¤«¤ò¥«¥¦¥ó¥È¤¹¤ë
def c_count(st, c)

  count = 0
  for i in 1..st.length do
    if (c == st[i-1].chr) then
      count += 1
    end
  end
  
  return count
end

warning.png (¾åµé¼Ô¸þ¤±) ¤Á¤Ê¤ß¤Ë¡¤Ruby ¤Ë¤Ï .count ¤È¤¤¤¦Ì¿Î᤬¤¢¤ë¡¥Ä´¤Ù¤Æ»È¤Ã¤Æ¤ß¤ë¤Î¤â¤è¤¤¤À¤í¤¦¡¥


ưŪ·×²èË¡¤â¤É¤­

¤µ¤Æ¡¤º£²ó¤Ï¥³¥Þ¥ó¥É±¾¡¹¤Ç¤Ï¤Ê¤¯¡¤¥×¥í¥°¥é¥à¤½¤Î¤â¤Î¤ÎÆâÍƤÀ¡¥
°ÊÁ°¡¤ºÆµ¢ÄêµÁ¤òÍѤ¤¤¿¥×¥í¥°¥é¥à¤ò³Ø¤ó¤À¤¬¡¤º£²ó¤Ï¤½¤ÎµÕ¤Î¤ä¤êÊý¤ò¶µ¤¨¤è¤¦¡¥
¤½¤ì¤ÏưŪ·×²èË¡(¤â¤É¤­)¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡¥¤³¤ì¤òÃΤë¤Ë¤Ï¡¤°ÊÁ°¤ÎºÆµ¢ÄêµÁ¤òº£°ìÅٻפ¤½Ð¤½¤¦¡¥
ºÆµ¢ÄêµÁ¤Ë¤è¤ë¥×¥í¥°¥é¥ß¥ó¥°¤È¤Ï¡¤¤Þ¤È¤á¤Æ¤·¤Þ¤¨¤Ð

[ºÆµ¢ÄêµÁ¤Ë¤è¤ë¥×¥í¥°¥é¥ß¥ó¥°¤È¤Ï]
ÌäÂê¤ò¤è¤ê¾®¤µ¤ÊÌäÂê¤Ëʬ³ä¤·¡¤
ºÇ¸å¤ËÍߤ·¤¤Åú = ¤è¤ê¾®¤µ¤ÊÌäÂê¤ÎÅú¤¨¤ÎÁȤ߹ç¤ï¤»
¤È¤¤¤¦ÄêµÁ¼°¤ò½ñ¤¤¤Æ¡¤¤¢¤È¤Ï¤ªÇ¤¤»

¤È¤¤¤¦¤â¤Î¤Ç¤¢¤Ã¤¿¡¥¤¤¤ï¤Ð¡¤¡ÖÌäÂê¤òʬ³ä¤·¡×¡ÖºÇ¸å¤ÎÅú¤«¤é¥¢¥×¥í¡¼¥Á¤¹¤ë¡×ÊýË¡¤Ç¤¢¤ë¡¥¤³¤ì¤ËÂФ·¡¤Æ°Åª·×²èË¡¤È¤Ï¡ÖÌäÂê¤òʬ³ä¤·¡×¡Ö°ìÈÖ¾®¤µ¤ÊÌäÂ꤫¤é¥¢¥×¥í¡¼¥Á¤¹¤ë¡×ÊýË¡¤Ç¡¤É¸¸ìŪ¤Ë½ñ¤¤¤Æ¤·¤Þ¤¦¤È

[ưŪ·×²èË¡¤â¤É¤­¤Ë¤è¤ë¥×¥í¥°¥é¥ß¥ó¥°¤È¤Ï]

ÌäÂê¤ò¤è¤ê¾®¤µ¤ÊÌäÂê¤Ëʬ³ä¤·¡¤
°ìÈÖ¾®¤µ¤ÊÌäÂê¤ò²ò¤¤¤Æ¡¤Åú¤¨¤òÊݸ¤·¤Æ¤ª¤¯¡¤¤½¤·¤Æ¡¤
Àè¤ÎÅú¤¨¤òÍøÍѤ·¤Æ¼¡¤Ë¾®¤µ¤ÊÌäÂê¤ò²ò¤¤¤Æ¡¤Åú¤¨¤òÊݸ¡¤
¤½¤·¤Æ¡Ä ¤È¤¤¤¦·«¤êÊÖ¤·¤ÇºÇ¸å¤ÎÅú¤¨¤¬µá¤Þ¤Ã¤¿¤é½ªÎ»

¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡¥


warning.png ưŪ·×²èË¡¤ÎËÜÍè¤Î°ÕµÁ, ÄêµÁ¤Ï
¡ÖÌäÂê¤ò¾®¤µ¤¯Ê¬²ò¤·¤Æ¡¤¡Ø²ò¤¯É¬ÍפΤʤ¤ÌäÂê¤ò¼Î¤Æ¤Ä¤Ä¡ÙɬÍפÊÌäÂê¤ò¾®¤µ¤ÊÊý¤«¤é²ò¤¤¤Æ¤½¤ÎÅú¤¨¤òÁȤߤ¢¤ï¤»¤Ä¤Ä¤è¤êÂ礭¤ÊÌäÂê¤ò²ò¤¯¡×
¤È¤¤¤¦¤â¤Î¤Ç¡¤ºÇŬ²½ÌäÂê¤ËÂФ·¤Æ¼ç¤Ë»È¤ï¤ì¤ë¤â¤Î¤Ç¤¢¤ë¡¥¡ÖưŪ¡×¤È¤¤¤¦¤Î¤Ï¡¤ÍÍ¡¹¤ÊȽÃǤ¬·×»»ÅÓÃæ¤Ç¹Ô¤ï¤ì¤ë¤³¤È¤«¤é¤Ä¤¤¤Æ¤¤¤ë¡¥
º£²ó¤ÏÌäÂê¤òʬ²ò¤·¤Æ¾®¤µ¤ÊÊý¤«¤é²ò¤¯¤È¤¤¤¦Éôʬ¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤·¤Æ¤¤¤ë¤¬¡¤¤³¤Î¡Ø²ò¤¯É¬ÍפΤʤ¤ÌäÂê¤ò¼Î¤Æ¤ë¡Ù¤³¤È¤Ç·×»»Î̤¬¾®¤µ¤¯¤Ê¤ë¤Î¤Ç¡¤¤³¤³¤â¼Â¤Ï½ÅÍפʤȤ³¤í¤À¡¥¤¿¤À¤·¡¤¤³¤ì¤òÍý²ò¤¹¤ë¤Ë¤ÏÆþÌçŪ¤Êº£¤Î³Ø½¬Ãʳ¬¤Ç¤Ï²Ù¤¬½Å¤¤¤Î¤Ç¡¤¤³¤³¤Ë¤Ä¤¤¤Æ¤Ïº£²ó¤ÏÀâÌÀ¤·¤Ê¤¤¡¥¾åµé¼Ô¤Ï¤½¤ì¤¾¤ìÄ´¤Ù¤Æ¤ß¤ë¤Î¤â¤è¤¤¤À¤í¤¦¡¥

¤µ¤Æ¡¤¥Ô¥ó¤ÈÍè¤Ê¤¤¤À¤í¤¦¤«¤é¡¤Îã¤ò¤¤¤¯¤Ä¤«¼¨¤½¤¦¡¥

ưŪ·×²èË¡¤â¤É¤­¤ÈºÆµ¢ÄêµÁ¤ÎÎã

¥Õ¥£¥Ü¥Ê¥Ã¥Á(Fibonacci)¿ô

¤Þ¤º¡¤´û¤Ë¥×¥í¥°¥é¥ß¥ó¥°¤ò¹Ô¤Ã¤¿¤³¤È¤Î¤¢¤ë¥Õ¥£¥Ü¥Ê¥Ã¥Á¿ô¤òÎã¤Ë¤È¤í¤¦¡¥
°ÊÁ°¥Õ¥£¥Ü¥Ê¥Ã¥Á¿ô¤òµá¤á¤ëÊýË¡¤Ë¤Ï¡¤ºÆµ¢ÄêµÁ¤È¥ë¡¼¥×¤Ë¤è¤ëÆóÄ̤꤬¤¢¤ê¡¤¤½¤ì¤¾¤ì¤ÎÆÃħ¤ä¥×¥í¥°¥é¥ß¥ó¥°¤Ë¤Ä¤¤¤Æ³Ø¤ó¤À¡¥
¼Â¤Ï¡¤¤½¤Î¡Ö¥ë¡¼¥×¤Ë¤è¤ëÊýË¡¡×¤¬¤³¤³¤Ç¤¤¤¦Æ°Åª·×²èË¡¤â¤É¤­¤Ë¤è¤ëÊýË¡¤Ç¤¢¤Ã¤¿¤Î¤À¡¥
¤½¤·¤Æ¡¤¤½¤ì¤é¤ò¿Þ¤Ë¤¹¤ë¤È¼¡¤Î¤è¤¦¤Ê´Ø·¸¤Ë¤Ê¤ë¡¥

fibonacci-alg.png

¤É¤Á¤é¤ÎÊýË¡¤â¡¤¤è¤ê¾®¤µ¤ÊÌäÂê¤ÎÅú¤¨¤òÍøÍѤ·¤ÆÂ礭¤ÊÌäÂê¤ÎÅú¤¨¤òÆÀ¤ë¤È¤¤¤¦¡ÖÌäÂê¤Îʬ³ä¡×¤Ë¤Ä¤¤¤Æ¤ÏƱ¤¸ÊýË¡¤Ç¤¢¤ë¤¬¡¤Åú¤¨¤òµá¤á¤ë¤¿¤á¤Î¹Í¤¨Êý¤Î¸þ¤­¤¬µÕ¤Ç¤¢¤ë¡¥
¤½¤³¤ËÃåÌܤ·¤è¤¦¡¥

warning.png ¤¸¤ã¤¢¤É¤Á¤é¤Ç¤âƱ¤¸¤¸¤ã¤ó¡¤¤È»×¤¦¤Ê¤«¤ì¡¥¥Õ¥£¥Ü¥Ê¥Ã¥Á¿ô¤ÎÌäÂê¤Ï¡Ö¿ôÎó¡×¤ÎÌäÂê¤Ê¤Î¤Ç¡¤ÌäÂê¤Îʬ³ä¤Îή¤ì¤¬1¼¡¸µÅª¤Ê¤Î¤Ç¡¤Æ±¤¸¤Ë¸«¤¨¤ë¤Î¤À¡¥¤³¤ì¤«¤é¤ÎÎã¤Ç¡¤¤³¤ì¤éÆó¤Ä¤¬Æ±¤¸¤Ç¤Ê¤¤¤³¤È¤¬Ê¬¤«¤Ã¤Æ¤¯¤ë¤À¤í¤¦¡¥


¥Ä¥ê¡¼(ÌÚ¹½Â¤)¤Î¥Î¡¼¥É¤Î´Ø·¸

¼¡¤Ë¡¤ÆóʬÌÚ(¥Î¡¼¥É¤Î²¼¤Ë¥¨¥Ã¥¸¤¬ÆóËܤ¢¤ë¥Ä¥ê¡¼)¤Ç¡¤¥Î¡¼¥É¤Î¿ô»ú¤¬
¡ÖÃíÌܤ·¤Æ¤¤¤ë¥Î¡¼¥É¤Ë¤Ä¤¤¤Æ¤¤¤ë¿ô»ú = ¤½¤Îľ²¼¤Î¥Î¡¼¥É¤Ë¤Ä¤¤¤Æ¤¤¤ë¿ô»ú¤Î¹ç·×¡×
¤È¤¤¤¦´Ø·¸¤Ë¤¢¤ëÎã¤ò¹Í¤¨¤è¤¦¡¥
ÌäÂê¤È¤·¤Æ¤Ï¡¤¡ÖÍÕ(°ìÈÖ²¼¤Î¥Î¡¼¥É)¡×¤Ë¤Ï´û¤Ë¿ô»ú¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ë¤È¤·¤Æ¡¤°ìÈÖ¾å¤Î¥Î¡¼¥É(º¬)¤Ë¤Ä¤¯¤Ù¤­¿ô»ú¤¬¤¤¤¯¤Ä¤«µá¤á¤è¡¤¤È¤¤¤¦ÌäÂê¤È¤·¤è¤¦¡¥
ÌäÂê¤ò¿Þ¤Ë¤¹¤ë¤È¡¤Î㤨¤Ð¼¡¤Î¤è¤¦¤Ê¤â¤Î¤Ë¤Ê¤ë¡¥

tree.png

¤³¤ÎÌäÂê¤ËÂФ·¤Æ¡¤¤Þ¤ººÆµ¢ÄêµÁ¤Ç·×»»¤¹¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à¤ò¼¨¤½¤¦¡¥

  1. include Math
  2.  
  3. # f ¤ÎÃͤòµá¤á¤ë´Ø¿ô
  4. def f(i,j)
  5.  
  6.   # Íդοô»ú¤Ïʬ¤«¤Ã¤Æ¤¤¤ë¡¥
  7.   if (i==3) then
  8.     ini = [1, 5, 2, 4, 3, 1, 2, 6]
  9.     return ini[j-1]
  10.   end
  11.  
  12.   # Íհʳ°¤ÏºÆµ¢ÄêµÁ¼°¤Ç¡¥
  13.   return f(i+1, 2*j-1) + f(i+1, 2*j)
  14.  
  15. end
  16.  
  17. # º¬¤ÎÃͤò·×»»¤µ¤»¤Æ¡¤É½¼¨¤¹¤ë¡¥
  18. print(f(0,1),"\n")

ÆäËÆñ¤·¤¤¤È¤³¤í¤Ï¤Ê¤¤¤À¤í¤¦¡¥

¤µ¤Æ¡¤¼¡¤ËưŪ·×²èË¡¤â¤É¤­¤Ë¤·¤¿¤¬¤Ã¤Æ·×»»¤¹¤ë¥×¥í¥°¥é¥à(¤³¤Î¾ì¹ç¤Ïñ¤Ê¤ë¥ë¡¼¥×¤À¤¬)¤ò¼¨¤½¤¦¡¥

  1. include Math
  2.  
  3. # ÆóʬÌÚ¤ò¤â¤é¤Ã¤Æ¡¤²¼¤«¤é­¤·¤Æ¤¤¤Ã¤Æº¬¤ÎÃͤòÊÖ¤¹(ÍդΥǡ¼¥¿¤Ïʬ¤«¤Ã¤Æ¤¤¤ë¤È²¾Äꤷ¤Æ)
  4. def calc_top(f)
  5.  
  6.   for i in 1..(f.size-1) do
  7.  
  8.     # ¿¼¤¤¤È¤³¤í¤«¤é·×»»¤·¤Æ¤¤¤¯(depth = f.size-2, f.size-3, ..., 1, 0)
  9.     depth = (f.size-1) - i
  10.  
  11.     # °ìÃÊ¿¼¤¤¤È¤³¤í¤ÎÃÍ2¤Ä¤ò­¤·¤ÆÂåÆþ.
  12.     # ¿¼¤µ¤Ï 0 ¤«¤é»Ï¤Þ¤ë¤Î¤Ç¤½¤Î¤Þ¤Þ»È¤¨¤ë¤¬¡¤²£½çÈÖ¤Ï 1 ¤«¤é»Ï¤Þ¤ë¤Î¤Ç¡¤1 °ú¤¤¤Æ»È¤¦¤³¤È¤Ë¤Ê¤ë¡¥
  13.     for j in 1..(2**depth) do
  14.       f[depth][j-1] = f[depth+1][2*j -2] + f[depth+1][2*j -1]
  15.     end
  16.  
  17.   end
  18.  
  19.   # f(0,1) ¤òÊÖ¤¹¡¥ÇÛÎó¤Îź»ú¤ÎÅÔ¹ç¤Ç f(0,1) ¤Ï f[0][0] ¤È¤Ê¤ë¤³¤È¤ËÃí°Õ.
  20.   return f[0][0]
  21.  
  22. end
  23.  
  24.  
  25. # ÇÛÎó¤È¤·¤Æ f ¤òºî¤ë
  26. f = Array.new(4){ Array.new(8){ 0 } }
  27.  
  28. # ÍÕ¤ÎÉôʬ¤Î¥Ç¡¼¥¿¤òÂåÆþ
  29. f[3] = 1, 5, 2, 4, 3, 1, 2, 6
  30.  
  31. # f ¤Î º¬ ¤ÎÃͤò·×»»¤¹¤ë
  32. ans = calc_top(f)
  33.  
  34. # ÃΤꤿ¤¤Ãͤòɽ¼¨¤¹¤ë
  35. print(ans,"\n")


ưŪ·×²èË¡¤â¤É¤­¤¬¤À¤¤¤¿¤¤¤É¤¦¤¤¤¦¤â¤Î¤«¤ï¤«¤Ã¤Æ¤­¤¿¤È»×¤¦¡¥
¤½¤³¤Ç¡¤ºÆµ¢ÄêµÁ¤ÈÈæ³Ó¤·¤ÆÆÃħ¤ò½Ò¤Ù¤è¤¦¡¥¤ª¤ª¤è¤½¼¡¤Î¤è¤¦¤Ê´¶¤¸¤À¡¥

[ưŪ·×²èË¡¤â¤É¤­¤ÎÍøÅÀ]

  • ¥á¥â²½Ìµ¤·¤ÎºÆµ¢ÄêµÁ¤ËÈæ¤Ù¡¤°ìÈÌŪ¤Ë¥×¥í¥°¥é¥à¤¬Â®¤¯Æ°ºî¤¹¤ë
  • ¾®¤µ¤ÊÌäÂꦤ«¤é²ò¤¯¤Î¤Ç¡¤¥×¥í¥°¥é¥à¤ÎÆ°ºî¤¬ÌÀ²÷¤Ç¤ï¤«¤ê¤ä¤¹¤¤
  • ÌäÂê¤Ë¤è¤Ã¤Æ¤Ï¡¤¥×¥í¥°¥é¥à¤·¤ä¤¹¤¤

[ưŪ·×²èË¡¤â¤É¤­¤Î·çÅÀ]

  • Åú¤¨¤Ë´Ø·¸¤Ê¤¤·×»»(= ¥à¥À)¤ò¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ë
  • ÌäÂê¤Ë¤è¤Ã¤Æ¤Ï¥×¥í¥°¥é¥à¤¬Ê£»¨¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦


¾å¤ÎÆÃħ¤Î¤¦¤Á¡¤¡ÖÅú¤¨¤Ë´Ø·¸¤Ê¤¤·×»»(= ¥à¥À)¤ò¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ë¡×¤³¤È¤Ë¤Ä¤¤¤Æ¤ï¤«¤ê¤Ë¤¯¤¤¤À¤í¤¦¤«¤éÎã¤òµó¤²¤ÆÀâÌÀ¤·¤è¤¦¡¥Î㤨¤Ð¡¤¼¡¤Î¤è¤¦¤Ê¾õ¶·¤Çº¬¤ÎÃͤòµá¤á¤ë¤È¤·¤è¤¦¡¥

tree2.png

ÅÓÃæ¤Ç¥¨¥Ã¥¸¤¬ÀÚ¤ì¤Æ¤¤¤ë¤¿¤á¤Ë°ìÈÖ²¼¤Î 3+1 ¤ÎÉôʬ¤Î·×»»¤ÏÉÔÍפʤΤÀ¤¬¡¤¥Ç¡¼¥¿¤ÎÍ¿¤¨Êý¤Ë¤è¤Ã¤Æ¤Ï¤½¤ì¤¬»öÁ°¤ËȽÌÀ¤»¤º¡¤Æ°Åª·×²èË¡¤â¤É¤­¤À¤È·×»»¤ò¤·¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤Ê¤ë¡¥¤³¤Î·×»»¤¬½Å¤«¤Ã¤¿¤ê¡¤Âоݤ¬Â礭¤Ê¥°¥é¥Õ¤Ç¡¤ÀÚ¤ì¤Æ¤¤¤ë²Õ½ê¤¬¾å¤ÎÊý¤Ë¤¢¤Ã¤¿¤ê¤¹¤ë¤È¤º¤¤¤Ö¤ó¥à¥À¤¬Â礭¤¯¤Ê¤ë¤³¤È¤Ë¤Ê¤ë¡¥°ìÊý¡¤ºÆµ¢ÄêµÁ¤ÏɬÍפʤâ¤Î¤À¤±¤¬·×»»¤µ¤ì¤ë¤Î¤Ç¡¤¤½¤¦¤¤¤¦°ÕÌ£¤Ç¤Î¥à¥À¤Ï¤Ê¤¤¡¥


µÕ¤Ë¥á¥â²½Ìµ¤·¤ÎºÆµ¢ÄêµÁ¤À¤È¥à¥À¤Ê·×»»¤¬À¸¤º¤ëÎã¤òµó¤²¤Æ¤ª¤³¤¦¡¥²¼¿Þ¤¬¤½¤¦¤Ç¤¢¤ë¡¥

tree3.png

¤³¤Î¾ì¹ç¡¤¥á¥â²½Ìµ¤·¤ÎºÆµ¢ÄêµÁ¤À¤È²¿²ó¤âƱ¤¸·×»»¤ò¤¹¤ë¤³¤È¤Ë¤Ê¤ê¡¤¤½¤Îʬ̵Â̤ˤʤ롥

warning.png ¤³¤Î¤è¤¦¤Ë¡¤ÌäÂê¤òʬ³ä¤¹¤ë¤È¤¤¤¦º¬ËÜŪ¤Ê¥¢¥¤¥Ç¥£¥¢¤ÏƱ¤¸¤À¤¬¡¤¼ÂºÝ¤Î¥×¥í¥°¥é¥à¤È¤·¤Æ¤ÏÌäÂê¤Ë¤è¤Ã¤ÆºÆµ¢ÄêµÁ¤ÈưŪ·×²èË¡¤â¤É¤­¤Ë¸þ¤­ÉÔ¸þ¤­¤¬¤¢¤ë¡¥¤½¤Î°ã¤¤¤Ï»öÁ°¤Î¹Í»¡¤Ë¤è¤Ã¤Æʬ¤«¤ë¤³¤È¤¬Â¿¤¤¤Î¤Ç¡¤¥×¥í¥°¥é¥à¤òÁȤàÁ°¤ËÍî¤ÁÃ夤¤Æ¹Í¤¨¤è¤¦¡¥

warning.png (¾åµé¼Ô¸þ¤±) ¤³¤ì¤Þ¤Ç¤ÎÏäÀ¤±¤«¤éȽÃǤ¹¤ë¤È¡Ö¥á¥â²½¤¢¤êºÆµ¢ÄêµÁºÇ¶¯¡ª¡×¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¤¬¡¤¼ÂºÝ¤Ï¤½¤¦Ã±½ã¤Ç¤Ï¤Ê¤¤¡¥¤Ê¤¼¤Ê¤é¡¤ºÆµ¢ÄêµÁ¤ÏÅú¤¨¤¬µá¤Þ¤ë¤Þ¤ÇÈó¾ï¤Ë¿¤¯¤Î¾õÂÖ¤ò¥á¥â¥ê¾å¤ËÊÝ»ý¤·¤Æ¤ª¤«¤Í¤Ð¤Ê¤é¤º¡¤¡Ö¥á¥â¥ê»ÈÍÑÎ̤¬ÇüÂç¤Ë¤Ê¤ê¤¬¤Á¡×¤È¤¤¤¦·çÅÀ¤ò»ý¤Ä¤·¡¤Æ°Åª·×²èË¡¤ÏÌäÂê¤Ë¤è¤Ã¤Æ¤Ï¡ÖÅÓÃæ¤ÇÉÔÍפÊÉôʬÌäÂê¤ò¼Î¤Æ¤ë¤³¤È¤¬¤Ç¤­¤Æ¡×(º£²ó¤Î¼ø¶È¤Ç¤Ï¿¨¤ì¤Æ¤¤¤Ê¤¤)·×»»Î̤òÂ礭¤¯¸º¤é¤»¤ë¤«¤é¤Ç¤¢¤ë¡¥


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

¤µ¤Æ¡¤¤Ç¤Ï¼¡¤ÎÌäÂê¤ò²ò¤¯¥×¥í¥°¥é¥à¤òÆó¤Ä½ñ¤³¤¦¡¥¤Þ¤ºÌäÂê¤òÀâÌÀ¤¹¤ë¡¥

  • ²¼¿Þ¤Ë¤¢¤ë¤è¤¦¤Ê·ÐÏ©¤ò»ý¤Ä³¹¤ò¹Í¤¨¤ë¡¥¤¹¤ë¤È¡¤Start ÃÏÅÀ¤«¤é Goal ÃÏÅÀ¤Þ¤Ç¤ÏºÇû¤Ç 10 step ¤Ç¹Ô¤±¤ë¤¬¡¤¤½¤Î¹Ô¤­Êý¤Ï²¿Ä̤ê¤â¤¢¤ë¡¥¤½¤Î¹Ô¤­Êý¤¬²¿Ä̤ꤢ¤ë¤«¡¤·×»»¤¹¤ë¥×¥í¥°¥é¥à¤ò½ñ¤±¡¥

    route.png

¤¿¤À¤·¡¤¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ¤Î¾ò·ï¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡¥

  1. ¥×¥í¥°¥é¥à A ¤ÏºÆµ¢ÄêµÁ¤Ë¤è¤ë¤â¤Î¤È¤¹¤ë¡¥¾åµé¼Ô¤Ï¥á¥â²½¤·¤è¤¦¡¥
  2. ¥×¥í¥°¥é¥à B ¤ÏưŪ·×²èË¡¤â¤É¤­¤Ë¤è¤ë¤â¤Î¤È¤¹¤ë¡¥
  3. Æó¤Ä¤ÎÅú¤¨¤¬°ìÃפ¹¤ë¤³¤È¤ò³Îǧ¤»¤è¡¥

OK.png (¥Ò¥ó¥È) ¾å¤Î Goal ¤Þ¤Ç¤ÎºÇû·ÐÏ©¤ò¤¤¤­¤Ê¤ê¹Í¤¨¤ë¤ÈÆñ¤·¤¤¡¥¡Ö²¾¤Ë¾¤ÎÅÀ¤ò Goal ¤È¤¹¤ë¤È¡¤¤½¤³¤Þ¤Ç¤ÎºÇû·ÐÏ©¤Î¿ô¤Ï¤É¤¦¤«¡×¤È¹Í¤¨¤Æ¡¤¤½¤ì¤é¤¬¤É¤Î¤è¤¦¤Ê´Ø·¸¤Ë¤¢¤ë¤«¹Í¤¨¤Æ¤ß¤è¤¦¡¥
Î㤨¤Ð¡¤Start ÃÏÅÀ¤Î¤¹¤°º¸Â¦¤ÎÅÀ¤¬ Goal ¤Î¾ì¹ç¤ÏºÇû·ÐÏ©¿ô¤Ï 1 ¤Ç¡¤¤¹¤°²¼¤âƱÍÍ¤Ë 1 ¤À¡¥¤½¤·¤Æ¡¤Start ÃÏÅÀ¤Îº¸²¼¤ÎÅÀ¤¬ Goal ¤Î¾ì¹ç¤ÏºÇû·ÐÏ©¿ô¤Ï 2 ¤È¤Ê¤ë¡¥¤½¤·¤Æ¡¤¤³¤ì¤é¤Ï¤É¤Î¤è¤¦¤Ê´Ø·¸¤Ë¤¢¤ë¤À¤í¤¦¤«¡¥


¾åµé¼Ô¸þ¤±

¾åµé¼Ô¸þ¤±¤Ë¡¤°Ê²¼¤Î²ÝÂ꤬¤¢¤ë¡¥¾ò·ïÅù¤Ï°ì½ï¤Ç¤¢¤ë¤¬¡¤ÌäÂê¤Î·ÐÏ©¤Î·Á¾õ¤¬°ã¤¦¡¥¾¯¤·Ìñ²ð¤«¤â¤·¤ì¤Ê¤¤¤¬¹Í¤¨¤Æ¤ß¤è¤¦¡¥

route2.png


¥ì¥Ý¡¼¥È

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

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

  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.


źÉÕ¥Õ¥¡¥¤¥ë: fileroute2.png 1068·ï [¾ÜºÙ] filetree.png 118·ï [¾ÜºÙ] filefibonacci-alg.png 89·ï [¾ÜºÙ] filetree2.png 96·ï [¾ÜºÙ] fileroute.png 117·ï [¾ÜºÙ] filetree3.png 102·ï [¾ÜºÙ]