¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Îº÷°ú% °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ :: ¡Ö¼õ¸³Á´²ò»»¿ô¡×Æüǽ¸¦È¯¹Ô p460 ÆçÃæÆþ»îÌäÂê¤è¤ê # # ¤¢¤ë¹©¾ì¤Ç¤Ï3¼ïÎà¤Îµ¡³££Á¡¤£Â¡¤£Ã¤ò»È¤Ã¤Æ¡¢ÉÊʪP¤òÀ¸»º¤·¤Æ¤¤¤Þ¤¹¡£ # 1»þ´Ö¤¢¤¿¤ê¤ÎÀ¸»º¹â¤Ï£Á¡¤£Â¡¤£Ã¤Î½ç¤Ë¡¢77¸Ä¡¢56¸Ä¡¢14¸Ä¤Ç¡¢1Æü¤Ë # 8»þ´Ö¤º¤Ä±¿Å¾¤·¤Þ¤¹¡£¤Þ¤¿¡¢°ìÆü¤ÎÀ¸»º¹â¤Ï¡¢£Ã¤ò»È¤ï¤Ê¤¤¤È¤¤Ï19544¸Ä¡¢ # £Â¤ò»È¤ï¤Ê¤¤¤È¤¤Ï¡¢13832¸Ä¡¢£Á¤ò»È¤ï¤Ê¤¤¤È¤¤Ï14896¸Ä¤Ç¤¹¡£¤³¤Î¤È¤¡¢ # ¼¡¤ÎÌä¤ËÅú¤¨¤Ê¤µ¤¤¡£ # (1) 3¼ïÎà¤Îµ¡³£¤Ï¤½¤ì¤¾¤ì²¿Â椢¤ê¤Þ¤¹¤«¡£ # (2) Á´Éô¤Îµ¡³£¤ò»È¤Ã¤¿¤È¤¤ÎÉÊʪP¤ÎÁíÀ¸»º¹â¤òº£¤Î2Çܤˤ¹¤ë¤¿¤á¤Ë # ¤Ï¡¢£Á¤ò25ÂæÇ㤤¤·¤Æ¡¢¤µ¤é¤ËB¤ÈC¤ò¤½¤ì¤¾¤ì²¿ÂæÇ㤤¤¿¤»¤Ð¤è¤¤¤Ç # ¤¹¤«¡£¤¿¤À¤·¡¢£Â¡¤£Ã¤É¤Á¤é¤â13Âæ¤è¤ê¿¤¯Ç㤤Æþ¤ì¤ë¤â¤Î¤È¤·¤Þ¤¹¡£ '¤¢¤ë¹©¾ì¤Ç¤Ï3¼ïÎà¤Îµ¡³££Á¡¤£Â¡¤£Ã¤ò»È¤Ã¤Æ¡¢ÉÊʪP¤òÀ¸»º¤·¤Æ¤¤¤Þ¤¹¡£ 1»þ´Ö¤¢¤¿¤ê¤ÎÀ¸»º¹â¤Ï£Á¡¤£Â¡¤£Ã¤Î½ç¤Ë¡¢77¸Ä¡¢56¸Ä¡¢14¸Ä¤Ç¡¢1Æü¤Ë 8»þ´Ö¤º¤Ä±¿Å¾¤·¤Þ¤¹¡£¤Þ¤¿¡¢°ìÆü¤ÎÀ¸»º¹â¤Ï¡¢£Ã¤ò»È¤ï¤Ê¤¤¤È¤¤Ï19544¸Ä¡¢ £Â¤ò»È¤ï¤Ê¤¤¤È¤¤Ï¡¢13832¸Ä¡¢£Á¤ò»È¤ï¤Ê¤¤¤È¤¤Ï14896¸Ä¤Ç¤¹¡£¤³¤Î¤È¤¡¢ ¼¡¤ÎÌä¤ËÅú¤¨¤Ê¤µ¤¤¡£ (1) 3¼ïÎà¤Îµ¡³£¤Ï¤½¤ì¤¾¤ì²¿Â椢¤ê¤Þ¤¹¤«¡£'(A¤ÎÂæ¿ô,B¤ÎÂæ¿ô,C¤ÎÂæ¿ô) :- length(A_plus_B,19544), length(A_plus_C,13832), length(B_plus_C,14896), append(A,B,A_plus_B), append(A,C,A_plus_C), append(B,C,B_plus_C), length(A,A¤Î°ìÆü¤ÎÀ¸»º¹â), length(B,B¤Î°ìÆü¤ÎÀ¸»º¹â), length(C,C¤Î°ìÆü¤ÎÀ¸»º¹â), A¤ÎÂæ¿ô is A¤Î°ìÆü¤ÎÀ¸»º¹â / (77 * 8), B¤ÎÂæ¿ô is B¤Î°ìÆü¤ÎÀ¸»º¹â / (56 * 8), C¤ÎÂæ¿ô is C¤Î°ìÆü¤ÎÀ¸»º¹â / (14 * 8). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½ÐÂê¾ì½ê :: http://toro.2ch.net/test/read.cgi/tech/1387257592/263 # ¡üRegular Expression¤Î»ÈÍѴĶ # Javascript # # ¡ü¸¡º÷¤«ÃÖ´¹¤«¡© # ÃÖ´¹ # # ¡üÀâÌÀ # '1'¤ò´Þ¤Þ¤Ê¤¤ABC¤«¤éDEF¤Þ¤Ç¤òºï½ü¤·¤¿¤¤¤Ç¤¹ # # ¡üÂоݥǡ¼¥¿ # ABC # 1 # DEF # # ABC # 2 # DEF # # ABC # 3 # DEF # # ¡ü´õ˾¤¹¤ë·ë²Ì # ABC # 1 # DEF # # '''1''¤ò´Þ¤Þ¤Ê¤¤ABC¤«¤éDEF¤Þ¤Ç¤òºï½ü¤·¤¿¤¤¤Ç¤¹'(_ʸ»úÎó,_´õ˾¤¹¤ë·ë²Ì) :- atom_char(_ʸ»úÎó,_ʸ»ú¤Ê¤é¤Ó), '''1''¤ò´Þ¤Þ¤Ê¤¤''A'',''B'',''C''¤«¤é''D'',''E'',''F''¤Þ¤Ç¤ò¤Ê¤é¤Ó¤«¤éºï½ü¤·¤¿¤¤¤Ç¤¹'(_ʸ»ú¤Ê¤é¤Ó,L), atomic_list_concat(L,_´õ˾¤¹¤ë·ë²Ì). '''1''¤ò´Þ¤Þ¤Ê¤¤''A'',''B'',''C''¤«¤é''D'',''E'',''F''¤Þ¤Ç¤ò¤Ê¤é¤Ó¤«¤éºï½ü¤·¤¿¤¤¤Ç¤¹'([],[]). '''1''¤ò´Þ¤Þ¤Ê¤¤''A'',''B'',''C''¤«¤é''D'',''E'',''F''¤Þ¤Ç¤ò¤Ê¤é¤Ó¤«¤éºï½ü¤·¤¿¤¤¤Ç¤¹'(_ʸ»ú¤Ê¤é¤Ó,L) :- '''1''¤ò´Þ¤Þ¤Ê¤¤''A'',''B'',''C''¤«¤é''D'',''E'',''F''¤Þ¤Ç¤ò'(_ʸ»úÎó,L3), '''1''¤ò´Þ¤Þ¤Ê¤¤''A'',''B'',''C''¤«¤é''D'',''E'',''F''¤Þ¤Ç¤ò¤Ê¤é¤Ó¤«¤éºï½ü¤·¤¿¤¤¤Ç¤¹'(L3,L),!. '''1''¤ò´Þ¤Þ¤Ê¤¤ABC¤«¤éDEF¤Þ¤Ç¤òºï½ü¤·¤¿¤¤¤Ç¤¹'([A|R1],[A|R2]) :- '''1''¤ò´Þ¤Þ¤Ê¤¤''A'',''B'',''C''¤«¤é''D'',''E'',''F''¤Þ¤Ç¤ò¤Ê¤é¤Ó¤«¤éºï½ü¤·¤¿¤¤¤Ç¤¹'(R1,R2). '''1''¤ò´Þ¤Þ¤Ê¤¤''A'',''B'',''C''¤«¤é''D'',''E'',''F''¤Þ¤Ç¤ò'(_ʸ»úÎó,L3) :- append(['A','B','C'|L2],['D','E','F'|L3],_ʸ»ú¤Ê¤é¤Ó), \+(append(_,['A','B','C'|_],L2)), \+(append(_,['D','E','F'|_],L2)), \+(append(_,['1'|_],L2)),!. % °Ê²¼¤Î¥µ¥¤¥È¤Ï % % ¥«¥ì¥ó¥À¡¼¤Î·Á¼°(²¿ÍËÆü¤«¤é»Ï¤Þ¤ë¤«)¤È % ·îÆü¿ô¤È£±Æü¤ÎÍËÆü¤¬Ê¬¤«¤Ã¤Æ¤¤¤ë»þ % ¥«¥ì¥ó¥À¡¼¤ò¤Ê¤é¤Ó¤ËÆÀ¤ë¡£ % Âè°ì½µ¤ÈºÇ½ª½µ¤òÊÑ¿ô¤ÇÊäÀµ¤·¤¿ÍËÆüµ¯ÅÀ·î¥«¥ì¥ó¥À¡¼ÊäÀµ(_µ¯ÅÀÍËÆü·Á¼°,_·îÆü¿ô,_1Æü¤ÎÍËÆü,_¥«¥ì¥ó¥À¡¼) :- ÍËÆüµ¯ÅÀ·î¥«¥ì¥ó¥À¡¼(_µ¯ÅÀÍËÆü·Á¼°,_·îÆü¿ô,_1Æü¤ÎÍËÆü,_¥«¥ì¥ó¥À¡¼_1), Âè°ì½µ¤ÈºÇ½ª½µ¤òÊÑ¿ô¤ÇÊäÀµ¤·¤¿(_¥«¥ì¥ó¥À¡¼_1,_¥«¥ì¥ó¥À¡¼). ÍËÆüµ¯ÅÀ·î¥«¥ì¥ó¥À¡¼(_µ¯ÅÀÍËÆü·Á¼°,_·îÆü¿ô,_1Æü¤ÎÍËÆü,_¥«¥ì¥ó¥À¡¼) :- findall(N,between(1,_·îÆü¿ô,N),_Æü¤Ê¤é¤Ó), µ¯ÅÀÍËÆüÈÖ¹æ¤òÆÀ¤ë(_µ¯ÅÀÍËÆü·Á¼°,_·îÆü¿ô,_1Æü¤ÎÍËÆü,_µ¯ÅÀÍËÆüÈÖ¹æ), ÍËÆüÈֹ椫¤é¥«¥ì¥ó¥À¡¼¤òºîÀ®¤¹¤ë(_µ¯ÅÀÍËÆüÈÖ¹æ,_Æü¤Ê¤é¤Ó,_¥«¥ì¥ó¥À¡¼). µ¯ÅÀÍËÆüÈÖ¹æ¤òÆÀ¤ë(_µ¯ÅÀÍËÆü·Á¼°,_·îÆü¿ô,_1Æü¤ÎÍËÆü,_µ¯ÅÀÍËÆüÈÖ¹æ) :- ÍËÆüÈÖ¹æ(_ÍËÆüÈÖ¹æ_1,_µ¯ÅÀÍËÆü·Á¼°), ÍËÆüÈÖ¹æ(_ÍËÆüÈÖ¹æ,_1Æü¤ÎÍËÆü), _µ¯ÅÀÍËÆüÈÖ¹æ is (7 - (_ÍËÆüÈÖ¹æ + _ÍËÆüÈÖ¹æ_1)) mod 7. ÍËÆüÈֹ椫¤é¥«¥ì¥ó¥À¡¼¤òºîÀ®¤¹¤ë(0,_Æü¤Ê¤é¤Ó,_¥«¥ì¥ó¥À¡¼) :- 'N¸ÄÁÈ'(7,_Æü¤Ê¤é¤Ó,_¥«¥ì¥ó¥À¡¼),!. ÍËÆüÈֹ椫¤é¥«¥ì¥ó¥À¡¼¤òºîÀ®¤¹¤ë(_ÍËÆüÈÖ¹æ,_Æü¤Ê¤é¤Ó,[L0|LL]) :- length(L0,_ÍËÆüÈÖ¹æ), append(L0,L1,_Æü¤Ê¤é¤Ó), 'N¸ÄÁÈ'(7,L1,LL). ÍËÆüÈÖ¹æ(0,ÆüÍË) :- !. ÍËÆüÈÖ¹æ(1,·îÍË) :- !. ÍËÆüÈÖ¹æ(2,²ÐÍË) :- !. ÍËÆüÈÖ¹æ(3,¿åÍË) :- !. ÍËÆüÈÖ¹æ(4,ÌÚÍË) :- !. ÍËÆüÈÖ¹æ(5,¶âÍË) :- !. ÍËÆüÈÖ¹æ(6,ÅÚÍË) :- !. 'N¸ÄÁÈ'(_,[],[]) :- !. 'N¸ÄÁÈ'(N,L,[U|R]) :- ÀèÆ¬¤«¤éN¸Ä(N,L,U,R1), 'N¸ÄÁÈ'(N,R1,R). ÀèÆ¬¤«¤éN¸Ä(_,[],[],[]) :- !. ÀèÆ¬¤«¤éN¸Ä(0,L,[],L) :- !. ÀèÆ¬¤«¤éN¸Ä(N,[A|R1],[A|R2],R) :- M is N - 1, ÀèÆ¬¤«¤éN¸Ä(M,R1,R2,R). Âè°ì½µ¤ÈºÇ½ª½µ¤òÊÑ¿ô¤ÇÊäÀµ¤·¤¿([L|LL1],[[_1,_2,_3,_4,_5,_6,_7]|LL2]) :- Âè°ì½µ¤òÊÑ¿ô¤ÇÊäÀµ(L,[_1,_2,_3,_4,_5,_6,_7]), ºÇ½ª½µ¤òÊÑ¿ô¤ÇÊäÀµ(LL1,LL2). Âè°ì½µ¤òÊÑ¿ô¤ÇÊäÀµ(L,[_1,_2,_3,_4,_5,_6,_7]) :- append(_,L,[_1,_2,_3,_4,_5,_6,_7]). ºÇ½ª½µ¤òÊÑ¿ô¤ÇÊäÀµ(LL1,LL2) :- append(LL1_1,[L_2],LL1), append(L_2,_,[_11,_12,_13,_14,_15,_16,_17]), append(LL1_1,[[_11,_12,_13,_14,_15,_16,_17]],LL2),!. ÊÑ¿ô¤À¤±ÃͤòµÍ¤á¤ë([],_). ÊÑ¿ô¤À¤±ÃͤòµÍ¤á¤ë([V|R],V) :- ÊÑ¿ô¤À¤±ÃͤòµÍ¤á¤ë(R,V),!. ÊÑ¿ô¤À¤±ÃͤòµÍ¤á¤ë([_|R],V) :- ÊÑ¿ô¤À¤±ÃͤòµÍ¤á¤ë(R,V). ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òµÍ¤á¤ë([],_). ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òµÍ¤á¤ë([N|R],N) :- N_2 is N + 1, ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òµÍ¤á¤ë(R,N_2),!. ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òµÍ¤á¤ë([_|R],N) :- N_2 is N + 1, ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òµÍ¤á¤ë(R,N_2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://toro.2ch.net/test/read.cgi/tech/1362913813/172 # # ¡üRegular Expression¤Î»ÈÍѴĶ # PHP5 # # ¡ü¸¡º÷¤«ÃÖ´¹¤«¡© # ÃÖ´¹ # # ¡üÀâÌÀ # Java¤Î¥³¥á¥ó¥È¡¦Ê¸»úÎó¤òÃê½Ð¤·¤Æ¥¿¥°¤Ç°Ï¤ß¤¿¤¤¤Ç¤¹¡£ # /**/, "", '' ¤¬Æþ¤ì»Ò¤Ë¤Ê¤Ã¤Æ¤ë¾ì¹ç¤Ë³°Â¦¤À¤±Å¬±þ¤¹¤ë¤Î¤¬¤Ç¤¤Þ¤»¤ó # ¼ºÇÔÎã¡¡<¥À¥Ö¥ë>"¤³¤ì¤Ï<¥·¥ó¥°¥ë>'¥Ú¥ó'</¥·¥ó¥°¥ë>¤Ç¤¹"</¥À¥Ö¥ë> # À®¸ùÎã¡¡<¥À¥Ö¥ë>"¤³¤ì¤Ï'¥Ú¥ó'¤Ç¤¹"</¥À¥Ö¥ë> # # ¡üÂоݥǡ¼¥¿¡Ê¡Ë # /* "hello" 'world' */ # String var="¤³¤ì¤Ï'¥Ú¥ó'¤Ç¤¹"; # String apos='apopo "/* moge'; # # ¡ü´õ˾¤¹¤ë·ë²Ì # <¥³¥á¥ó¥È>/* "hello" 'world' */</¥³¥á¥ó¥È> # String var=<¥À¥Ö¥ë>"¤³¤ì¤Ï'¥Ú¥ó'¤Ç¤¹"</¥À¥Ö¥ë>; # String apos=<¥·¥ó¥°¥ë>'apopo "/* moge'</¥·¥ó¥°¥ë>; # # 'Java¤Î¥³¥á¥ó¥È¡¦Ê¸»úÎó¤òÃê½Ð¤·¤Æ¥¿¥°¤Ç°Ï¤ß¤¿¤¤¤Ç¤¹¡£'(_ʸ»úÎó,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó) :- atom_chars(_ʸ»úÎó,Chars), 'ʸ»ú¤Ê¤é¤Ó¤«¤é¥³¥á¥ó¥È¡¦Ê¸»úÎó¤òÃê½Ð¤·¤Æ¥¿¥°¤Ç°Ï¤à'(Chars,_ÃÖ´¹¤µ¤ì¤¿Ê¸»ú¤Ê¤é¤Ó), atom_chars(_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó,_ÃÖ´¹¤µ¤ì¤¿Ê¸»ú¤Ê¤é¤Ó). 'ʸ»ú¤Ê¤é¤Ó¤«¤é¥³¥á¥ó¥È¡¦Ê¸»úÎó¤òÃê½Ð¤·¤Æ¥¿¥°¤Ç°Ï¤à'([],[]). 'ʸ»ú¤Ê¤é¤Ó¤«¤é¥³¥á¥ó¥È¡¦Ê¸»úÎó¤òÃê½Ð¤·¤Æ¥¿¥°¤Ç°Ï¤à'([''''|R1],[<,¥·,¥ó,¥°,¥ë,>,''''|L1]) :- '¥·¥ó¥°¥ë¥¯¥©¡¼¥È¤Î³°Â¦Æþ¤ì»Ò¤òÊÑ´¹'(R1,L1,R2),!, 'ʸ»ú¤Ê¤é¤Ó¤«¤é¥³¥á¥ó¥È¡¦Ê¸»úÎó¤òÃê½Ð¤·¤Æ¥¿¥°¤Ç°Ï¤à'(R1,R2). 'ʸ»ú¤Ê¤é¤Ó¤«¤é¥³¥á¥ó¥È¡¦Ê¸»úÎó¤òÃê½Ð¤·¤Æ¥¿¥°¤Ç°Ï¤à'(['"'|R1],[<,¥À,¥Ö,¥ë,>,'"'|L1]) :- '¥À¥Ö¥ë¥¯¥©¡¼¥È¤Î³°Â¦Æþ¤ì»Ò¤òÊÑ´¹'(R1,L1,R2),!, 'ʸ»ú¤Ê¤é¤Ó¤«¤é¥³¥á¥ó¥È¡¦Ê¸»úÎó¤òÃê½Ð¤·¤Æ¥¿¥°¤Ç°Ï¤à'(R1,R2). 'ʸ»ú¤Ê¤é¤Ó¤«¤é¥³¥á¥ó¥È¡¦Ê¸»úÎó¤òÃê½Ð¤·¤Æ¥¿¥°¤Ç°Ï¤à'([/,*|R1],[<,¥³,¥á,¥ó,¥È,>,/,*|L1]) :- '¥³¥á¥ó¥È¤Î³°Â¦Æþ¤ì»Ò¤òÊÑ´¹'(R1,L1,R2),!, 'ʸ»ú¤Ê¤é¤Ó¤«¤é¥³¥á¥ó¥È¡¦Ê¸»úÎó¤òÃê½Ð¤·¤Æ¥¿¥°¤Ç°Ï¤à'(R1,R2). 'ʸ»ú¤Ê¤é¤Ó¤«¤é¥³¥á¥ó¥È¡¦Ê¸»úÎó¤òÃê½Ð¤·¤Æ¥¿¥°¤Ç°Ï¤à'([A|R1],[A|R2]) :- 'ʸ»ú¤Ê¤é¤Ó¤«¤é¥³¥á¥ó¥È¡¦Ê¸»úÎó¤òÃê½Ð¤·¤Æ¥¿¥°¤Ç°Ï¤à'(R1,R2). ¥·¥ó¥°¥ë¥¯¥©¡¼¥È¤Î³°Â¦Æþ¤ì»Ò¤òÊÑ´¹(L,L1,R) :- append(L0,[''''|R],L), \+(member('''',R)), append(L0,['''',<,/,¥·,¥ó,¥°,¥ë,>|R],L1),!. ¥À¥Ö¥ë¥¯¥©¡¼¥È¤Î³°Â¦Æþ¤ì»Ò¤òÊÑ´¹(L,L1,R) :- append(L0,['"'|R],L), \+(member('"',R)), append(L0,['"',<,/,¥À,¥Ö,¥ë,>|R],L1),!. ¥³¥á¥ó¥È¤Î³°Â¦Æþ¤ì»Ò¤òÊÑ´¹(L,L1,R) :- append(L0,[*,/|R],L), \+(append(_,[*,/|_],R)), append(L0,[*,/,<,/,¥³,¥á,¥ó,¥È,>|R],L1),!. % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://toro.2ch.net/test/read.cgi/tech/1361082416/59 # # ../test/read.cgi/tech/1361082416/48 # http://kohada.2ch.net/test/read.cgi/prog/1209467166/401 # FizzBuzz¥¯¥¤¥º # # 1.fizz.buzz #=> 1 # 3.fizz.buzz #=> "Fizz" # 5.fizz.buzz #=> "Buzz" # 15.fizz.buzz #=> "FizzBuzz" # 997.fizz.buzz #=> 997 # # ¤È¤Ê¤ë¤è¤¦¤Ê¥á¥½¥Ã¥Éfizz¡¢buzz¤ÏÄêµÁ²Äǽ¤«¡© # ²Äǽ¤Ç¤¢¤ë¾ì¹ç¡¢Æ±ÍͤËgizz¤òÄɲÃÄêµÁ¤·¡¢ # 7.fizz.buzz.gizz #=> "Gizz" # 21.fizz.buzz.gizz #=> "FizzGizz" # 35.fizz.buzz.gizz #=> "BuzzGizz" # 105.fizz.buzz.gizz #=> "FizzBuzzGizz" # ¤È³ÈÄ¥¡¦±þÍѤ¬¤Ç¤¤ë¤«¡© # # ¥á¥½¥Ã¥É¤Î¥³¡¼¥ë¤Ë()¤¬É¬¿Ü¤Î¸À¸ì¤Ç¤Ï 3.fizz().buzz() ·Á¼°¤Ç¤â¹½¤ï¤Ê¤¤¡£ # ¥ª¡¼¥×¥ó¥¯¥é¥¹µ¡¹½¤ä¥á¥½¥Ã¥É¤Î¤Ê¤¤¸À¸ì¤Ç¤Ï´Ø¿ô¡Êbuzz(fizz(3)) #=> "Fizz" ¤Ê¤É¡Ë¤Ç¡£ # # 'FizzBuzzGizz' :- 'FizzBuzzGizz'([],['','','Fizz'],['','','','','Buzz'],['','','','','','','Gizz']). 'FizzBuzzGizz'(Ln,_,_,_) :- length(Ln,100),!. 'FizzBuzzGizz'(Ln,L1,L2,L3) :- 'FizzBuzzGizz'([_|Ln],L1,L2,L3,_ɽ¼¨¾ðÊó), writef('%t\n',[_ɽ¼¨¾ðÊó]), »°¤Ä¤Î¥ê¥¹¥È¤Îº¸¥·¥Õ¥È(L1,L2,L3,L1_2,L2_2,L3_2), 'FizzBuzzGizz'([_|Ln],L1_2,L2_2,L3_2). 'FizzBuzzGizz'(Ln,[''|_],[''|_],[''|_],_¿ôÃÍ) :- length(Ln,_¿ôÃÍ),!. 'FizzBuzzGizz'(Ln,[A|_],[B|_],[C|_],_FizzBuzzGizzʸ»úÎó) :- atomic_list_concat([A,B,C],_FizzBuzzGizzʸ»úÎó). »°¤Ä¤Î¥ê¥¹¥È¤Îº¸¥·¥Õ¥È([A|R1],[B|R2],[C|R3],L1,L2,L3) :- append(R1,[A],L1), append(R2,[B],L2), append(R3,[C],L3). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://toro.2ch.net/test/read.cgi/tech/1361082416/48 # # [1] ¼ø¶Èñ¸µ¡§C¸À¸ì # [2] ÌäÂêʸ(´Þ¥³¡¼¥É&¥ê¥ó¥¯)¡§ # FizzBuzzÌäÂê¤ÎÍ×ÎΤǡ¢1¤«¤é100¤Þ¤Ç¤ÎÀ°¿ô¤ò¡¢¤«¤¤¤®¤ç¤¦¶èÀÚ¤ê¤Ç½ÐÎϤ»¤è¡¢¤¿¤À¤·¡¢ # 3¤ÎÇÜ¿ô¤Ê¤é¡ÖFizz¡×¤ò¡¢7¤ÎÇÜ¿ô¤Ê¤é¡ÖBuzz¡×¤ò¡¢13¤ÎÇÜ¿ô¤Ê¤é¡Öhoge¡×¤ò¡¢ # ¿ôÃͤÎÂå¤ï¤ê¤Ë½ÐÎϤ¹¤ë¤³¤È¤È¤¹¤ë # '1¤«¤é100¤Þ¤Ç¤ÎÀ°¿ô¤ò¤«¤¤¤®¤ç¤¦¶èÀÚ¤ê¤Ç½ÐÎϤ»¤è¡¢¤¿¤À¤·¡¢3¤ÎÇÜ¿ô¤Ê¤é¡ÖFizz¡×¤ò¡¢7¤ÎÇÜ¿ô¤Ê¤é¡ÖBuzz¡×¤ò¡¢13¤ÎÇÜ¿ô¤Ê¤é¡Öhoge¡×¤ò¡¢¿ôÃͤÎÂå¤ï¤ê¤Ë½ÐÎϤ¹¤ë¤³¤È¤È¤¹¤ë' :- '¤«¤¤¤®¤ç¤¦¶èÀÚ¤ê¤Ç½ÐÎϤ»¤è¡¢¤¿¤À¤·¡¢3¤ÎÇÜ¿ô¤Ê¤é¡ÖFizz¡×¤ò¡¢7¤ÎÇÜ¿ô¤Ê¤é¡ÖBuzz¡×¤ò¡¢13¤ÎÇÜ¿ô¤Ê¤é¡Öhoge¡×¤ò¡¢¿ôÃͤÎÂå¤ï¤ê¤Ë½ÐÎϤ¹¤ë¤³¤È¤È¤¹¤ë'([],['','','Fizz'],['','','','','','','Buzz'],['','','','','','','','','','','','','hoge']). '¤«¤¤¤®¤ç¤¦¶èÀÚ¤ê¤Ç½ÐÎϤ»¤è¡¢¤¿¤À¤·¡¢3¤ÎÇÜ¿ô¤Ê¤é¡ÖFizz¡×¤ò¡¢7¤ÎÇÜ¿ô¤Ê¤é¡ÖBuzz¡×¤ò¡¢13¤ÎÇÜ¿ô¤Ê¤é¡Öhoge¡×¤ò¡¢¿ôÃͤÎÂå¤ï¤ê¤Ë½ÐÎϤ¹¤ë¤³¤È¤È¤¹¤ë'(Ln,_,_,_) :- length(Ln,100),!. '¤«¤¤¤®¤ç¤¦¶èÀÚ¤ê¤Ç½ÐÎϤ»¤è¡¢¤¿¤À¤·¡¢3¤ÎÇÜ¿ô¤Ê¤é¡ÖFizz¡×¤ò¡¢7¤ÎÇÜ¿ô¤Ê¤é¡ÖBuzz¡×¤ò¡¢13¤ÎÇÜ¿ô¤Ê¤é¡Öhoge¡×¤ò¡¢¿ôÃͤÎÂå¤ï¤ê¤Ë½ÐÎϤ¹¤ë¤³¤È¤È¤¹¤ë'(Ln,L1,L2,L3) :- '3¤ÎÇÜ¿ô¤Ê¤é¡ÖFizz¡×¤ò¡¢7¤ÎÇÜ¿ô¤Ê¤é¡ÖBuzz¡×¤ò¡¢13¤ÎÇÜ¿ô¤Ê¤é¡Öhoge¡×¤ò¡¢¿ôÃͤÎÂå¤ï¤ê¤Ë'([_|Ln],L1,L2,L3,_ɽ¼¨¾ðÊó), writef('%t\n',[_ɽ¼¨¾ðÊó]), »°¤Ä¤Î¤Ê¤é¤Ó¤Îº¸Êý¸þ¤Ø²óž(L1,L2,L3,L1_2,L2_2,L3_2), '¤«¤¤¤®¤ç¤¦¶èÀÚ¤ê¤Ç½ÐÎϤ»¤è¡¢¤¿¤À¤·¡¢3¤ÎÇÜ¿ô¤Ê¤é¡ÖFizz¡×¤ò¡¢7¤ÎÇÜ¿ô¤Ê¤é¡ÖBuzz¡×¤ò¡¢13¤ÎÇÜ¿ô¤Ê¤é¡Öhoge¡×¤ò¡¢¿ôÃͤÎÂå¤ï¤ê¤Ë½ÐÎϤ¹¤ë¤³¤È¤È¤¹¤ë'([_|Ln],L1_2,L2_2,L3_2). '3¤ÎÇÜ¿ô¤Ê¤é¡ÖFizz¡×¤ò¡¢7¤ÎÇÜ¿ô¤Ê¤é¡ÖBuzz¡×¤ò¡¢13¤ÎÇÜ¿ô¤Ê¤é¡Öhoge¡×¤ò¡¢¿ôÃͤÎÂå¤ï¤ê¤Ë'(Ln,[''|_],[''|_],[''|_],_¿ôÃÍ) :- length(Ln,_¿ôÃÍ),!. '3¤ÎÇÜ¿ô¤Ê¤é¡ÖFizz¡×¤ò¡¢7¤ÎÇÜ¿ô¤Ê¤é¡ÖBuzz¡×¤ò¡¢13¤ÎÇÜ¿ô¤Ê¤é¡Öhoge¡×¤ò¡¢¿ôÃͤÎÂå¤ï¤ê¤Ë'(Ln,[A|_],[B|_],[C|_],_FizzBuzzhogeʸ»úÎó) :- atomic_list_concat([A,B,C],_FizzBuzzhogeʸ»úÎó). »°¤Ä¤Î¤Ê¤é¤Ó¤Îº¸Êý¸þ¤Ø²óž([A|R1],[B|R2],[C|R3],L1,L2,L3) :- append(R1,[A],L1), append(R2,[B],L2), append(R3,[C],L3). % °Ê²¼¤Î¥µ¥¤¥È¤Ï % % ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á¤ò¼¨¤¹Èó·èÄêÀ¤Î½Ò¸ì % % append¤ÎÅÓÃæ·Ð²á¤ò¼¨¤¹Èó·èÄêÀ¤Î½Ò¸ì % % append¤ÎÄêµÁ¤Ï % % append([],L,L). % append([U|X],Y,[U|Z]) :- % append(X,Y,Z). % ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á([],[V|Y],[V]). ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á([],[V|Y],[V|Z]) :- ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á([],Y,Z). ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á([U|X],Y,[U]). ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á([U|X],Y,[U|Z]) :- ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á(X,Y,Z). append¤ÎÅÓÃæ·Ð²á([],L,L). append¤ÎÅÓÃæ·Ð²á([U|X],Y,[U]). append¤ÎÅÓÃæ·Ð²á([U|X],Y,[U|Z]) :- append¤ÎÅÓÃæ·Ð²á(X,Y,Z). % °Ê²¼¤Î¥µ¥¤¥È¤Ï % % ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á¤ò¼¨¤¹Èó·èÄêÀ¤Î½Ò¸ì % % append¤ÎÅÓÃæ·Ð²á¤ò¼¨¤¹Èó·èÄêÀ¤Î½Ò¸ì % % append¤ÎÄêµÁ¤Ï % % append([],L,L). % append([U|X],Y,[U|Z]) :- % append(X,Y,Z). % ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á([],[V|Y],[V]). ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á([],[V|Y],[V|Z]) :- ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á([],Y,Z). ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á([U|X],Y,[U]). ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á([U|X],Y,[U|Z]) :- ÂèÆó°ú¿ô¤â½ç¤Ë¥³¥Ô¡¼¤¹¤ë¥ê¥¹¥È¤Î·ë¹ç¤ÎÅÓÃæ·Ð²á(X,Y,Z). append¤ÎÅÓÃæ·Ð²á([],L,L). append¤ÎÅÓÃæ·Ð²á([U|X],Y,[U]). append¤ÎÅÓÃæ·Ð²á([U|X],Y,[U|Z]) :- append¤ÎÅÓÃæ·Ð²á(X,Y,Z). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://toro.2ch.net/test/read.cgi/tech/1339338438/260 # # ttp://codepad.org/pWDlCcF7 # ¤³¤³¤Þ¤Ç¤Ï½ÐÍ褿¤ó¤À¤±¤É¡¢txt¥Õ¥¡¥¤¥ë¤Î·ë²Ì¤ò # *|** # ***|**** # *****|****** # *******|******** # *********|********** # ¤³¤ó¤Ê´¶¤¸¤Ë·¤¨¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤ó¤Ç¤¹¤«¡© # # '¤³¤³¤Þ¤Ç¤Ï½ÐÍ褿¤ó¤À¤±¤É¡¢txt¥Õ¥¡¥¤¥ë¤Î·ë²Ì¤ò # *|** # ***|**** # *****|****** # *******|******** # *********|********** # ¤³¤ó¤Ê´¶¤¸¤Ë·¤¨¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤ó¤Ç¤¹¤«¡©' :- ¤Ê¤é¤Ó¤òÊѲ½¤µ¤»¤ë(L1,L2,L), ÉÁ²è¤¹¤ë(L1,L2,L), L2 = []. ¤Ê¤é¤Ó¤òÊѲ½¤µ¤»¤ë(L1,L2,L) :- length(L8,8), '¶õÇò¤È*¤òÇÛʬ¤¹¤ë'(L8,L1,L2), append(L2,L1,L3), append(L1,L2,L4), append(L3,['*','|','*','*'|L4],L). '¶õÇò¤È*¤òÇÛʬ¤¹¤ë'(L8,L1,L2) :- append(L1,L2,L8), length(L1,Len1), 0 is Len1 mod 2, all(L2,' '), all(L1,'*'). ÉÁ²è¤¹¤ë(L1,L2,L) :- concat_atom(L,S), writef(' %t\n',[S]). % °Ê²¼¤Î¥µ¥¤¥È¤Ï search(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ,S1,S2,S3,L1,L2,L3) :- sub_atom_search(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ,S1,S2,S3,L1,L2,L3). sub_atom_search(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3) :- list(_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó), list(_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó), atom_chars(_ÁªÂòÈϰϵ¯ÅÀ,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó), sub_atom_search_list(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3). sub_atom_search(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3) :- atom(_ÁªÂòÈϰϵ¯ÅÀ), list(_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó), atom_chars(_ÁªÂòÈϰϵ¯ÅÀ,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó), sub_atom_search_list(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3). sub_atom_search(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ,S1,S2,S3,L1,L2,L3) :- list(_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó), atom(_ÁªÂòÈϰϽªÅÀ), atom_chars(_ÁªÂòÈϰϽªÅÀ,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó), sub_atom_search_list(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3). sub_atom_search(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ,S1,S2,S3,L1,L2,L3) :- atom(_ÁªÂòÈϰϵ¯ÅÀ), atom(_ÁªÂòÈϰϽªÅÀ), atom_chars(_ÁªÂòÈϰϵ¯ÅÀ,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó), atom_chars(_ÁªÂòÈϰϽªÅÀ,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó), sub_atom_search_list(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3). sub_atom_search(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3) :- var(_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó), list(_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó), sub_atom_search_list(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3). sub_atom_search(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3) :- list(_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó), var(_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó), sub_atom_search_list(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3). sub_atom_search(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ,S1,S2,S3,L1,L2,L3) :- var(_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó), atom(_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó), atom_chars(_ÁªÂòÈϰϽªÅÀ,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó), sub_atom_search_list(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3). sub_atom_search(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3) :- atom(_ÁªÂòÈϰϵ¯ÅÀ), var(_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó), atom_chars(_ÁªÂòÈϰϵ¯ÅÀ,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó), sub_atom_search_list(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3). sub_atom_search(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3) :- var(_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó), var(_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó), sub_atom_search_list(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3). sub_atom_search_list(_ʸ»úÎó,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,S1,S2,S3,L1,L2,L3) :- sub_atom(_ʸ»úÎó,_,_,_,S1,S2,S3,L1,L2,L3), append(_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_ÁªÂòÈϰÏÃæ±û¤Ê¤é¤Ó,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,L2), \+(append(_,_ÁªÂòÈϰϵ¯ÅÀ¤Ê¤é¤Ó,_,_ÁªÂòÈϰÏÃæ±û¤Ê¤é¤Ó)), \+(append(_,_ÁªÂòÈϰϽªÅÀ¤Ê¤é¤Ó,_,_ÁªÂòÈϰÏÃæ±û¤Ê¤é¤Ó)), atom_chars(_ÁªÂòÈϰÏÃæ±û,_ÁªÂòÈϰÏÃæ±û¤Ê¤é¤Ó). % sub_atom/10 % °Ê²¼¤Î¥µ¥¤¥È¤Ï # # @haroperi¤µ¤ó¤Î20120420¤Î¥Ä¥¤¡¼¥È¤è¤ê # # ÁÐÊý¸þÀ¤Î¤¢¤ëQuicksort¤¬½ñ¤±¤Ê¤¤¤Î¤Ç¿²¤ë¤Ç¤¹¡£¤À¤á¤À¤â¤¦¤À¤á¤À¡£ *ÁÓÃæ* # ÁÐÊý¸þÀ¤Î¤¢¤ëQuicksort([],[]). ÁÐÊý¸þÀ¤Î¤¢¤ëQuicksort(L1,L2) :- ºÇ½é¤ËL1¤ÈL2¤ÎÍ×ÁÇ¿ô¤ò·¤¨¤ë(L1,L2),!, append(L0,[A|R0],L1), append(L0,R0,L11), append(L5,[A|L6],L2), À°Îó¤Î¤¿¤á¤Îʬ³ä(A,L11,L3,L4), ÁÐÊý¸þÀ¤Î¤¢¤ëQuicksort(L3,L5), ÁÐÊý¸þÀ¤Î¤¢¤ëQuicksort(L4,L6). À°Îó¤Î¤¿¤á¤Îʬ³ä(A,[],[],[]). À°Îó¤Î¤¿¤á¤Îʬ³ä(A,[B|R1],[B|R2],L) :- B @< A, À°Îó¤Î¤¿¤á¤Îʬ³ä(A,R1,R2,L). À°Îó¤Î¤¿¤á¤Îʬ³ä(A,[B|R1],L,[B|R2]) :- B @>= A, À°Îó¤Î¤¿¤á¤Îʬ³ä(A,R1,L,R2). ºÇ½é¤ËL1¤ÈL2¤ÎÍ×ÁÇ¿ô¤ò·¤¨¤ë(L1,L2) :- length(L2,Len), length(L1,Len). % % ¸½ºß¤Î¥¨¥é¡¼¤Ï % ÉáÄ̤Υ½¡¼¥È¤Î»þ¡¢Ê£¿ô²ò(Ʊ°ì²ò)½ÐÎϤµ¤ì¤Æ¤·¤Þ¤¦¡£ % ¤³¤ì¤òľ¤¹¤Î¤ÏÆñ¤·¤¤¤À¤í¤¦¡£ % % °Ê²¼¤Î¥µ¥¤¥È¤Ï # http://www.ioi-jp.org/joi/2011/2012-yo/2012-yo-t1/2012-yo-t1.html # ÌäÂê # £± ¡¡¡¡¡¡¥é¥ó¥Á (Lunch) # ÌäÂê # # JOI ¥Ñ¥¹¥¿Å¹¤Ç¤Ï¡¤¥é¥ó¥Á¤Î¤ª¤¹¤¹¤á¥Ñ¥¹¥¿¤Èºñ¤ê¤¿¤Æ¥¸¥å¡¼¥¹¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤¬ # ¹¥É¾¤Ç¤¢¤ë¡¥¤³¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤òÃíʸ¤¹¤ë¤È¤¤Ï¡¤¤½¤ÎÆü¤Î 3 ¼ïÎà¤Î¥Ñ¥¹¥¿¤È # 2 ¼ïÎà¤Î¥¸¥å¡¼¥¹¤«¤é 1 ¤Ä¤º¤ÄÁª¤Ö¡¥¥Ñ¥¹¥¿¤È¥¸¥å¡¼¥¹¤ÎÃÍÃʤιç·×¤«¤é 50 ±ß¤ò # °ú¤¤¤¿¶â³Û¤¬Âå¶â¤È¤Ê¤ë¡¥ # # ¤¢¤ëÆü¤Î¥Ñ¥¹¥¿¤È¥¸¥å¡¼¥¹¤ÎÃÍÃʤ¬Í¿¤¨¤é¤ì¤¿¤È¤¡¤¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤Î # Âå¶â¤ÎºÇ¾®Ãͤòµá¤á¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤»¤è¡¥ # # ÆþÎÏ # # ÆþÎÏ¤Ï 5 ¹Ô¤«¤é¤Ê¤ê¡¤1 ¹Ô¤Ë 1 ¤Ä¤º¤ÄÀµ¤ÎÀ°¿ô¤¬½ñ¤«¤ì¤Æ¤¤¤ë¡¥ # 1 ¹ÔÌܤÎÀ°¿ô¤Ï 1 ¤ÄÌܤΥѥ¹¥¿¤ÎÃÍÃʤǤ¢¤ë¡¥ # 2 ¹ÔÌܤÎÀ°¿ô¤Ï 2 ¤ÄÌܤΥѥ¹¥¿¤ÎÃÍÃʤǤ¢¤ë¡¥ # 3 ¹ÔÌܤÎÀ°¿ô¤Ï 3 ¤ÄÌܤΥѥ¹¥¿¤ÎÃÍÃʤǤ¢¤ë¡¥ # 4 ¹ÔÌܤÎÀ°¿ô¤Ï 1 ¤ÄÌܤΥ¸¥å¡¼¥¹¤ÎÃÍÃʤǤ¢¤ë¡¥ # 5 ¹ÔÌܤÎÀ°¿ô¤Ï 2 ¤ÄÌܤΥ¸¥å¡¼¥¹¤ÎÃÍÃʤǤ¢¤ë¡¥ # ¤¿¤À¤·¡¤Í¿¤¨¤é¤ì¤ëÆþÎϥǡ¼¥¿¤Ë¤ª¤¤¤Æ¤ÏÁ´¤Æ¤Î¥Ñ¥¹¥¿¤È¥¸¥å¡¼¥¹¤ÎÃÍÃÊ¤Ï # 100 ±ß°Ê¾å 2000 ±ß°Ê²¼¤Ç¤¢¤ë¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤ë¡¥ # # ½ÐÎÏ # # ¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â¤ÎºÇ¾®Ãͤò 1 ¹Ô¤Ç½ÐÎϤ»¤è¡¥ # # Æþ½ÐÎÏÎã # # ÆþÎÏÎã 1 ÆþÎÏÎã 2 # 800 1999 # 700 1999 # 900 100 # 198 189 # 330 100 # # ½ÐÎÏÎã 1 ½ÐÎÏÎã 2 # 848 150 # # # Æþ½ÐÎÏÎã 1 ¤Ç¤Ï¡¤2 ¤ÄÌܤΥѥ¹¥¿¤È 1 ¤ÄÌܤΥ¸¥å¡¼¥¹¤òÁȤ߹ç¤ï¤»¤¿¾ì¹ç¤Î 700 + 198 - 50 = 848 ¤¬¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â¤ÎºÇ¾®ÃͤǤ¢¤ë¡¥ # # Æþ½ÐÎÏÎã 2 ¤Ç¤Ï¡¤3 ¤ÄÌܤΥѥ¹¥¿¤È 2 ¤ÄÌܤΥ¸¥å¡¼¥¹¤òÁȤ߹ç¤ï¤»¤¿¾ì¹ç¤Î 100 + 100 - 50 = 150 ¤¬¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â¤ÎºÇ¾®ÃͤǤ¢¤ë¡¥ # # ¢¨³ÆÆþ½ÐÎÏÎã¤Î¥Ç¡¼¥¿¤Ï¡¤±¦¥¯¥ê¥Ã¥¯Åù¤Ë¤è¤ê¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¤ÆÍøÍѲÄǽ¤Ç¤¹¡¥ # program :- 'JOI ¥Ñ¥¹¥¿Å¹¤Ç¤Ï¡¤¥é¥ó¥Á¤Î¤ª¤¹¤¹¤á¥Ñ¥¹¥¿¤Èºñ¤ê¤¿¤Æ¥¸¥å¡¼¥¹¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤¬¹¥É¾¤Ç¤¢¤ë¡¥¤³¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤òÃíʸ¤¹¤ë¤È¤¤Ï¡¤¤½¤ÎÆü¤Î 3 ¼ïÎà¤Î¥Ñ¥¹¥¿¤È 2 ¼ïÎà¤Î¥¸¥å¡¼¥¹¤«¤é 1 ¤Ä¤º¤ÄÁª¤Ö¡¥¥Ñ¥¹¥¿¤È¥¸¥å¡¼¥¹¤ÎÃÍÃʤιç·×¤«¤é 50 ±ß¤ò°ú¤¤¤¿¶â³Û¤¬Âå¶â¤È¤Ê¤ë¡¥¤¢¤ëÆü¤Î¥Ñ¥¹¥¿¤È¥¸¥å¡¼¥¹¤ÎÃÍÃʤ¬Í¿¤¨¤é¤ì¤¿¤È¤¡¤¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â¤ÎºÇ¾®Ãͤòµá¤á¤ë'. 'JOI ¥Ñ¥¹¥¿Å¹¤Ç¤Ï¡¤¥é¥ó¥Á¤Î¤ª¤¹¤¹¤á¥Ñ¥¹¥¿¤Èºñ¤ê¤¿¤Æ¥¸¥å¡¼¥¹¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤¬¹¥É¾¤Ç¤¢¤ë¡¥¤³¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤òÃíʸ¤¹¤ë¤È¤¤Ï¡¤¤½¤ÎÆü¤Î 3 ¼ïÎà¤Î¥Ñ¥¹¥¿¤È 2 ¼ïÎà¤Î¥¸¥å¡¼¥¹¤«¤é 1 ¤Ä¤º¤ÄÁª¤Ö¡¥¥Ñ¥¹¥¿¤È¥¸¥å¡¼¥¹¤ÎÃÍÃʤιç·×¤«¤é 50 ±ß¤ò°ú¤¤¤¿¶â³Û¤¬Âå¶â¤È¤Ê¤ë¡¥¤¢¤ëÆü¤Î¥Ñ¥¹¥¿¤È¥¸¥å¡¼¥¹¤ÎÃÍÃʤ¬Í¿¤¨¤é¤ì¤¿¤È¤¡¤¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â¤ÎºÇ¾®Ãͤòµá¤á¤ë' :- '3½ñÎà¤Î¥Ñ¥¹¥¿¤È2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê¤òÆÀ¤ë'(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê,_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê), ºÇ¾®Ãͤòõ¤·¤À¤¹(_¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â,( ¥»¥Ã¥È¥á¥Ë¥å¡¼¤òÂå¶â¤òÆÀ¤ë(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê,_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê,_¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â)), _¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â¤ÎºÇ¾®ÃÍ), writef('%t\n',[_¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â¤ÎºÇ¾®ÃÍ]). '3½ñÎà¤Î¥Ñ¥¹¥¿¤È2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê¤òÆÀ¤ë'(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê,_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê) :- '3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê¤òÆÀ¤ë'(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê), '2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê¤òÆÀ¤ë'(_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê). '3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê¤òÆÀ¤ë'(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê) :- length(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê,3), findall(_¥Ñ¥¹¥¿¤Î²Á³Ê,( append(_,[_¥Ñ¥¹¥¿¤Î²Á³Ê|_],_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê), À°¿ôÆþÎÏ(_¥Ñ¥¹¥¿¤Î²Á³Ê)), _3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê). '2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê¤òÆÀ¤ë'(_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê) :- length(_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê,2), findall(_¥¸¥å¡¼¥¹¤Î²Á³Ê,( % _¥Ñ¥¹¥¿¤Î²Á³Ê¤È¤Ê¤Ã¤Æ¤¤¤¿ 12/23ÄûÀµ append(_,[_¥¸¥å¡¼¥¹¤Î²Á³Ê|_],_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê), À°¿ôÆþÎÏ(_¥¸¥å¡¼¥¹¤Î²Á³Ê)), _2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê). ºÇ¾®Ãͤòõ¤·¤À¤¹(_ÂоݤȤʤëÃÍ,_ÉûÌÜɸ,_ºÇ¾®ÃÍ) :- findall(_ÂоݤȤʤëÃÍ,_ÉûÌÜɸ,L), ºÇ¾®ÃÍ(L,_ºÇ¾®ÃÍ). ºÇ¾®ÃÍ(L,_ºÇ¾®ÃÍ) :- append(L1,[_ºÇ¾®ÃÍ|L2],L), \+((append(_,[A|_],L1),A @< _ºÇ¾®ÃÍ)), \+((append(_,[B|_],L2),B @< _ºÇ¾®ÃÍ)),!. ¥»¥Ã¥È¥á¥Ë¥å¡¼¤òÂå¶â¤òÆÀ¤ë(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê,_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê,_¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â) :- append(_,[_¥Ñ¥¹¥¿¤Î²Á³Ê|_],_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê), append(_,[_¥¸¥å¡¼¥¹¤Î²Á³Ê|_],_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê), _¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â is _¥Ñ¥¹¥¿¤Î²Á³Ê + _¥¸¥å¡¼¥¹¤Î²Á³Ê - 50. À°¿ôÆþÎÏ(N) :- get_line(Line), À°¿ôÆþÎÏ¿ÇÃÇ(Line,N),!. À°¿ôÆþÎÏ(N) :- À°¿ôÆþÎÏ(N). À°¿ôÆþÎÏ¿ÇÃÇ(Line,N) :- atom_to_term(Line,N,_), integer(N),!. À°¿ôÆþÎÏ¿ÇÃÇ(Line,N) :- writef('ÆþÎϤµ¤ì¤¿ %t ¤«¤é¤ÏÀ°¿ô¤¬ÆÀ¤é¤ì¤Þ¤»¤ó¡£ºÆÆþÎϤò¤ª´ê¤¤¤·¤Þ¤¹¡£\n',[Line]), fail. get_line(Line) :- get_char(Char), get_line_2(Char,Chars), atom_chars(Line,Chars). get_line_2(end_of_file,[]) :- !. get_line_2('\n',[]) :- !. get_line_2(Char,[Char|R]) :- get_char(Char2), get_line_2(Char2,R). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # http://www.ioi-jp.org/joi/2011/2012-yo/2012-yo-t1/2012-yo-t1.html # ÌäÂê # £± ¡¡¡¡¡¡¥é¥ó¥Á (Lunch) # ÌäÂê # # JOI ¥Ñ¥¹¥¿Å¹¤Ç¤Ï¡¤¥é¥ó¥Á¤Î¤ª¤¹¤¹¤á¥Ñ¥¹¥¿¤Èºñ¤ê¤¿¤Æ¥¸¥å¡¼¥¹¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤¬ # ¹¥É¾¤Ç¤¢¤ë¡¥¤³¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤òÃíʸ¤¹¤ë¤È¤¤Ï¡¤¤½¤ÎÆü¤Î 3 ¼ïÎà¤Î¥Ñ¥¹¥¿¤È # 2 ¼ïÎà¤Î¥¸¥å¡¼¥¹¤«¤é 1 ¤Ä¤º¤ÄÁª¤Ö¡¥¥Ñ¥¹¥¿¤È¥¸¥å¡¼¥¹¤ÎÃÍÃʤιç·×¤«¤é 50 ±ß¤ò # °ú¤¤¤¿¶â³Û¤¬Âå¶â¤È¤Ê¤ë¡¥ # # ¤¢¤ëÆü¤Î¥Ñ¥¹¥¿¤È¥¸¥å¡¼¥¹¤ÎÃÍÃʤ¬Í¿¤¨¤é¤ì¤¿¤È¤¡¤¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤Î # Âå¶â¤ÎºÇ¾®Ãͤòµá¤á¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤»¤è¡¥ # # ÆþÎÏ # # ÆþÎÏ¤Ï 5 ¹Ô¤«¤é¤Ê¤ê¡¤1 ¹Ô¤Ë 1 ¤Ä¤º¤ÄÀµ¤ÎÀ°¿ô¤¬½ñ¤«¤ì¤Æ¤¤¤ë¡¥ # 1 ¹ÔÌܤÎÀ°¿ô¤Ï 1 ¤ÄÌܤΥѥ¹¥¿¤ÎÃÍÃʤǤ¢¤ë¡¥ # 2 ¹ÔÌܤÎÀ°¿ô¤Ï 2 ¤ÄÌܤΥѥ¹¥¿¤ÎÃÍÃʤǤ¢¤ë¡¥ # 3 ¹ÔÌܤÎÀ°¿ô¤Ï 3 ¤ÄÌܤΥѥ¹¥¿¤ÎÃÍÃʤǤ¢¤ë¡¥ # 4 ¹ÔÌܤÎÀ°¿ô¤Ï 1 ¤ÄÌܤΥ¸¥å¡¼¥¹¤ÎÃÍÃʤǤ¢¤ë¡¥ # 5 ¹ÔÌܤÎÀ°¿ô¤Ï 2 ¤ÄÌܤΥ¸¥å¡¼¥¹¤ÎÃÍÃʤǤ¢¤ë¡¥ # ¤¿¤À¤·¡¤Í¿¤¨¤é¤ì¤ëÆþÎϥǡ¼¥¿¤Ë¤ª¤¤¤Æ¤ÏÁ´¤Æ¤Î¥Ñ¥¹¥¿¤È¥¸¥å¡¼¥¹¤ÎÃÍÃÊ¤Ï # 100 ±ß°Ê¾å 2000 ±ß°Ê²¼¤Ç¤¢¤ë¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤ë¡¥ # # ½ÐÎÏ # # ¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â¤ÎºÇ¾®Ãͤò 1 ¹Ô¤Ç½ÐÎϤ»¤è¡¥ # # Æþ½ÐÎÏÎã # # ÆþÎÏÎã 1 ÆþÎÏÎã 2 # 800 1999 # 700 1999 # 900 100 # 198 189 # 330 100 # # ½ÐÎÏÎã 1 ½ÐÎÏÎã 2 # 848 150 # # # Æþ½ÐÎÏÎã 1 ¤Ç¤Ï¡¤2 ¤ÄÌܤΥѥ¹¥¿¤È 1 ¤ÄÌܤΥ¸¥å¡¼¥¹¤òÁȤ߹ç¤ï¤»¤¿¾ì¹ç¤Î 700 + 198 - 50 = 848 ¤¬¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â¤ÎºÇ¾®ÃͤǤ¢¤ë¡¥ # # Æþ½ÐÎÏÎã 2 ¤Ç¤Ï¡¤3 ¤ÄÌܤΥѥ¹¥¿¤È 2 ¤ÄÌܤΥ¸¥å¡¼¥¹¤òÁȤ߹ç¤ï¤»¤¿¾ì¹ç¤Î 100 + 100 - 50 = 150 ¤¬¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â¤ÎºÇ¾®ÃͤǤ¢¤ë¡¥ # # ¢¨³ÆÆþ½ÐÎÏÎã¤Î¥Ç¡¼¥¿¤Ï¡¤±¦¥¯¥ê¥Ã¥¯Åù¤Ë¤è¤ê¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¤ÆÍøÍѲÄǽ¤Ç¤¹¡¥ # 'JOI ¥Ñ¥¹¥¿Å¹¤Ç¤Ï¡¤¥é¥ó¥Á¤Î¤ª¤¹¤¹¤á¥Ñ¥¹¥¿¤Èºñ¤ê¤¿¤Æ¥¸¥å¡¼¥¹¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤¬¹¥É¾¤Ç¤¢¤ë¡¥¤³¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤òÃíʸ¤¹¤ë¤È¤¤Ï¡¤¤½¤ÎÆü¤Î 3 ¼ïÎà¤Î¥Ñ¥¹¥¿¤È 2 ¼ïÎà¤Î¥¸¥å¡¼¥¹¤«¤é 1 ¤Ä¤º¤ÄÁª¤Ö¡¥¥Ñ¥¹¥¿¤È¥¸¥å¡¼¥¹¤ÎÃÍÃʤιç·×¤«¤é 50 ±ß¤ò°ú¤¤¤¿¶â³Û¤¬Âå¶â¤È¤Ê¤ë¡¥¤¢¤ëÆü¤Î¥Ñ¥¹¥¿¤È¥¸¥å¡¼¥¹¤ÎÃÍÃʤ¬Í¿¤¨¤é¤ì¤¿¤È¤¡¤¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â¤ÎºÇ¾®Ãͤòµá¤á¤ë' :- '3½ñÎà¤Î¥Ñ¥¹¥¿¤È2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê¤òÆÀ¤ë'(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê,_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê), ºÇ¾®Ãͤòõ¤·¤À¤¹(_¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â,( ¥»¥Ã¥È¥á¥Ë¥å¡¼¤òÂå¶â¤òÆÀ¤ë(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê,_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê,_¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â)), _¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â¤ÎºÇ¾®ÃÍ), writef('%t\n',[_¤½¤ÎÆü¤Î¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â¤ÎºÇ¾®ÃÍ]). '3½ñÎà¤Î¥Ñ¥¹¥¿¤È2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê¤òÆÀ¤ë'(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê,_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê) :- '3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê¤òÆÀ¤ë'(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê), '2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê¤òÆÀ¤ë'(_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê). '3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê¤òÆÀ¤ë'(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê) :- length(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê,3), findall(_¥Ñ¥¹¥¿¤Î²Á³Ê,( append(_,[_¥Ñ¥¹¥¿¤Î²Á³Ê|_],_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê), readln([_¥Ñ¥¹¥¿¤Î²Á³Ê])), _3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê). '2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê¤òÆÀ¤ë'(_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê) :- length(_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê,2), findall(_¥¸¥å¡¼¥¹¤Î²Á³Ê,( % _¥Ñ¥¹¥¿¤Î²Á³Ê¤È¤Ê¤Ã¤Æ¤¤¤¿ 12/23ÄûÀµ append(_,[_¥¸¥å¡¼¥¹¤Î²Á³Ê|_],_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê), readln([_¥¸¥å¡¼¥¹¤Î²Á³Ê])), _2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê). ºÇ¾®Ãͤòõ¤·¤À¤¹(_ÂоݤȤʤëÃÍ,_ÉûÌÜɸ,_ºÇ¾®ÃÍ) :- findall(_ÂоݤȤʤëÃÍ,_ÉûÌÜɸ,L), ºÇ¾®ÃÍ(L,_ºÇ¾®ÃÍ). ºÇ¾®ÃÍ(L,_ºÇ¾®ÃÍ) :- append(L1,[_ºÇ¾®ÃÍ|L2],L), \+((append(_,[A|_],L1),A @< _ºÇ¾®ÃÍ)), \+((append(_,[B|_],L2),B @< _ºÇ¾®ÃÍ)),!. ¥»¥Ã¥È¥á¥Ë¥å¡¼¤òÂå¶â¤òÆÀ¤ë(_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê,_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê,_¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â) :- append(_,[_¥Ñ¥¹¥¿¤Î²Á³Ê|_],_3¼ïÎà¤Î¥Ñ¥¹¥¿¤Î²Á³Ê), append(_,[_¥¸¥å¡¼¥¹¤Î²Á³Ê|_],_2¼ïÎà¤Î¥¸¥å¡¼¥¹¤Î²Á³Ê), _¥»¥Ã¥È¥á¥Ë¥å¡¼¤ÎÂå¶â is _¥Ñ¥¹¥¿¤Î²Á³Ê + _¥¸¥å¡¼¥¹¤Î²Á³Ê - 50. % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1301067486/962 # # ÂÐ¾Ý # ABC¤³¤Î´Ö¤Ëʸ»úÎ󤬤¢¤Ã¤¿¤ê¤Ê¤«¤Ã¤¿¤êDEF # # ·ë²Ì # DEF # # "ABC"¤è¤ê¤â¸å³¤Ë¤¢¤ë¡ÊºÇ½é¤Î¡Ë"DEF"¤À¤±¤òÂоݤȤ·¤¿¤¤¤Ç¤¹ # Ìá¤êÆÉ¤ß¾ò·ï¤¬¡¢Ä¹¤µ°ìÄê¤Ç¤Ê¤¯¤Æ¤âOK¤Ê¤é¤Ð¤Ç¤¤ë¤Î¤Ç¤¹¤¬¡¦¡¦¡¦ # # '"ABC"¤è¤ê¤â¸å³¤Ë¤¢¤ë¡ÊºÇ½é¤Î¡Ë"DEF"¤À¤±¤òÂоݤȤ·¤¿¤¤¤Ç¤¹¡£Ìá¤êÆÉ¤ß¾ò·ï¤¬¡¢Ä¹¤µ°ìÄê¤Ç¤Ê¤¯¤Æ¤âOK¤Ê¤é¤Ð¤Ç¤¤ë¤Î¤Ç¤¹¤¬¡¦¡¦¡¦ '(_ʸ»úÎó,_Á°Ê¸»úÎó,'DEF',_¸åʸ»úÎó) :- atom_chars(_ʸ»úÎó,Chars), append(L1,['A','B','C'|R1],Chars), append(L2,['D','E','F'|R2],R1), append(L1,['A','B','C'|L2],Chars1), atom_chars(_Á°Ê¸»úÎó,Chars1), atom_chars(_¸åʸ»úÎó,R2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1301067486/777 # # JavaScript¤Ç # aa1 # ¤Ã¤Æ¤¤¤¦Ê¸»úÎó¤Î²ô¤ò£±¥»¥Ã¥È¤Ç[a-z]{2}[0-9]¤Èɽ¤·¤Þ¤¹ # ¤³¤Îʸ»úÎó¤¬ # fi1cs2bc3wr4 # ¤Ã¤Æ¤¦É÷¤Ë4²ó·«¤êÊÖ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¥Ò¥Ã¥È¤µ¤»¤ëÀµµ¬É½¸½¤Ï¤É¤¦¤«¤¯¤Î¤Ç¤·¤ç¤¦¤«¡© # ([a-z]{2}[0-9]){4}¤Ã¤Æ´¶¤¸¤Ç½ñ¤¤¤Æ¤ß¤¿¤ó¤Ç¤¹¤±¤É(¡Á){¿ô»ú}¤Î¥±¡¼¥¹¤Ã¤Æ¸«¤¿¤³¤È¤Ê¤¤¤ó¤Ç¤¹¤¬¤É¤¦¤Ç¤·¤ç¤¦¤« # # ¤¢¤ëʸ»ú¥Ñ¥¿¡¼¥ó¤¬»Í²ó·«¤êÊÖ¤µ¤ì¤Æ¤¤¤ë¥Ñ¥¿¡¼¥ó(_ʸ»úÎó,_Á°Ê¸»úÎó,_Ŭ¹çʸ»úÎó,_¸åʸ»úÎó) :- sub_atom(_ʸ»úÎó,_,_,_,_Á°Ê¸»úÎó,_Ŭ¹çʸ»úÎó,_¸åʸ»úÎó,L1,L2,L3), ¤¢¤ëʸ»ú¥Ñ¥¿¡¼¥ó¤¬»Í²ó·«¤êÊÖ¤µ¤ì¤Æ¤¤¤ë(L2). ¤¢¤ëʸ»ú¥Ñ¥¿¡¼¥ó¤¬»Í²ó·«¤êÊÖ¤µ¤ì¤Æ¤¤¤ë(L) :- append(A,B,L1), append(L1,C,L2), append(L2,D,L). Ʊ°ì¥Ñ¥¿¡¼¥ó([A,B,C,D],_). Ʊ°ì¥Ñ¥¿¡¼¥ó([],_) :- !. Ʊ°ì¥Ñ¥¿¡¼¥ó([A|R],N) :- ¥Ñ¥¿¡¼¥ó¸õÊä(A,1), Ʊ°ì¥Ñ¥¿¡¼¥ó(R,N). ¥Ñ¥¿¡¼¥ó¸õÊä(A,1) :- °ìʸ»úÌܤ¬¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È(A), Æóʸ»úÌܤ¬¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È(A), »°Ê¸»úÌܤ¬¿ô»ú(A). °ìʸ»úÌܤ¬±Ñʸ»ú(A) :- sub_atom(A,0,1,_,A1), ±Ñʸ»ú(A1),!. Æóʸ»úÌܤ¬±Ñʸ»ú(A) :- sub_atom(A,1,1,_,A2), ±Ñʸ»ú(A2),!. »°Ê¸»úÌܤ¬¿ô»ú(A) :- sub_atom(A,2,1,_,A3), A3 @>= '0', A3 @=< '9',!. ±Ñʸ»ú(A) :- A @>= 'a', A @=< 'z',!. ±Ñʸ»ú(A) :- A @>= 'A', A @=< 'Z',!. % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1301067486/455 # # ¡üÀµµ¬É½¸½¤Î»ÈÍѴĶ # C# # # ¡ü¸¡º÷¤«ÃÖ´¹¤«¡© # ÃÖ´¹ # # ¡üÀâÌÀ # <b></b>¤Ç¶´¤Þ¤ì¤¿Ê¸¾Ï¤òÈ´¤½Ð¤¹ # # ¡üÂоݥǡ¼¥¿ # <table width="100%" border="1" cellspacing="0" cellpadding="10"> # <tr><td><b>ERROR!!<br><br>¿½Å½ñ¤¹þ¤ß¤Ç¤¹¡£ ¤¢¤È 17ÉäªÂÔ¤Á¤¯¤À¤µ¤¤¡£</b></td></tr> # </table> # # ¡ü´õ˾¤¹¤ë·ë²Ì # ERROR!!<br><br>¿½Å½ñ¤¹þ¤ß¤Ç¤¹¡£ ¤¢¤È 17ÉäªÂÔ¤Á¤¯¤À¤µ¤¤¡£ # # ==== # ¤³¤ì¤ò¼Â¹Ô¤¹¤ë¤Î¤Ë¡¢ # responseStr = System.Text.RegularExpressions.Regex.Replace( # responseStr, # @"(.|\n)*<b>(?<sentence>.*?)</b>(.|\n)*", # "${sentence}"); # # ¤È¤ä¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢ # ¡ÖǤ°Õ¤Î°ìʸ»ú(²þ¹Ôʸ»ú¤â´Þ¤à)¡× # ¤È¤¤¤¦É½¸½¤Ï(.|\n)¤¬ºÇŬ¤Ê¤Î¤Ç¤·¤ç¤¦¤«¡£ # ¤â¤Ã¤È¥Ù¥¿¡¼¤Ê¤ä¤ê¤«¤¿¤¬¤¢¤Ã¤¿¤é¶µ¤¨¤Æ²¼¤µ¤¤¡£ # # '¤Ç¶´¤Þ¤ì¤¿Ê¸¾Ï¤òÈ´¤½Ð¤¹'(_ʸ»úÎó,_Á°Ê¸»úÎó,_Ŭ¹çʸ»úÎó,_¸åʸ»úÎó) :- sub_atom(_ʸ»úÎó,_,_,_,S1,S2,S3,L1,L2,L3), append([<,b,>|R1],[<,/,b,>],R1), \+(append(_,[<,b,>|_],R1)), \+(append(_,[<,/,b,>|_],R1)), atom_chars(_Ŭ¹çʸ»úÎó,R1), concat_atom([S1,''],_Á°Ê¸»úÎó), concat_atom(['',S3],_¸åʸ»úÎó). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1301067486/381 # # ¡üÀµµ¬É½¸½¤Î»ÈÍѴĶ # C# 4.0 # # ¡ü¸¡º÷¤«ÃÖ´¹¤«¡© # ÃÖ¤´¹¤¨ # # ¡üÀâÌÀ # htmlÆâ¤Î<dd></dd>¥¿¥°¤ò¸¡º÷¤·¤Æ<dd>¤È</dd>¤Î¤ßÃÖ¤´¹¤¨¤¿¤¤ # ¤¿¤á¤·¤Ë<dd>¤È¤À¤±¤ä¤Ã¤Æ¤ß¤Þ¤·¤¿¤¬¡¢<dd>¥¿¥°¤ÏÃÖ¤´¹¤¨¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿ # # ¡üÂоݥǡ¼¥¿ # <dd>ʸ¾Ï1</dd> # <dd>ʸ¾Ï2</dd> # # ¡ü´õ˾¤¹¤ë·ë²Ì # ʸ¾Ï1 # ʸ¾Ï2 # 'htmlÆâ¤Î<dd></dd>¥¿¥°¤ò¸¡º÷¤·¤Æ<dd>¤È</dd>¤Î¤ßÃÖ¤´¹¤¨¤ë'(_ʸ»úÎó,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó) :- sub_atom(_ʸ»úÎó,_,_,_,S1,S2,S3,L1,[<,d,d,>|R1],L3), append(_[/,<,d,d,>|_],L1), append(L11,[/,<,d,d,>],R1), \+(append(L11,[/,<,d,d,>],L11)), atom_chars(_dd¥¿¥°¤òºï½ü¤µ¤ì¤¿Ê¸»úÎó,L11), concat_atom([L1,L11,L2],_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó). 'htmlÆâ¤Î<dd></dd>¥¿¥°¤ò¸¡º÷¤·¤Æ<dd>¤È</dd>¤Î¤ßÃÖ¤´¹¤¨¤ë'(_ʸ»úÎó,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó) :- sub_atom(_ʸ»úÎó,_,_,_,S1,S2,S3,L1,[<,d,d,>|R1],L3), append(_[/,<,d,d,>|_],L1), append(L11,[/,<,d,d,>],R1), \+(append(L11,[/,<,d,d,>],L11)), 'htmlÆâ¤Î<dd></dd>¥¿¥°¤ò¸¡º÷¤·¤Æ<dd>¤È</dd>¤Î¤ßÃÖ¤´¹¤¨¤ë'(L3,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó¤Î¥Ë), concat_atom([L1,L11,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó¤Î¥Ë],_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1301067486/282 # # ¡ûds # ¡ûnds # ¡ûgameds # ¡ûgamends # ¡ßlegends # ¸¡º÷¤·¤¿¤È¤¤Ë¡¢¡û¤À¤±¥Ò¥Ã¥È¤µ¤»¤ë¤Ë¤Ï¤É¤¦¤¹¤ì¤Ð¤¤¤¤¤«¶µ¤¨¤Æ¤¯¤À¤µ¤¤ # # ds¤Ç½ª¤ï¤ëʸ»úÎó¤Çle¤«¤é¤Ï¤¸¤Þ¤é¤Ê¤¤¤â¤Î(_ʸ»úÎó,_Á°Ê¸»úÎó,_Ŭ¹çʸ»úÎó,_¸åʸ»úÎó) :- sub_atom(_ʸ»úÎó,_,_,_,_Á°Ê¸»úÎó,_Ŭ¹çʸ»úÎó,_¸åʸ»úÎó,L1,L2,L3), append(L0,[d,s],L2), \+(append(_,[d,s|_],L2)), \+(append([l,e],_,L0)). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1301067486/279 # # ¡üÀµµ¬É½¸½¤Î»ÈÍѴĶ # C# 4.0 # # ¡ü¸¡º÷¤«ÃÖ´¹¤«¡© # ÃÖ´¹¤Ç¤¹ # # ¡üÀâÌÀ # HTML¥Õ¥¡¥¤¥ë¤Î¥½¡¼¥¹¥³¡¼¥É¤Î # <script type="text/javascript">¡Á¾Êά¡Á</script> # script¥¿¥°³«»Ï¤ò´Þ¤á¤Æscript¥¿¥°½ªÎ»¥¿¥°¤Þ¤Ç¤ò¾Ãµî¤·¤¿¤¤¤ó¤Ç¤¹ # # ¡üÂоݥǡ¼¥¿ # <script type="text/javascript"> # <!-- # // ¡Á¥³¥á¥ó¥È¡Á # ÆâÍÆ # // --> # </script> # # <script type="text/javascript" src="script.js"></script> # # ¾åµ¤Î¤É¤Á¤é¤â°Ê²¼¤Î¤â¤Î¤Ç¤ä¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢¤É¤¦¤â¥Ò¥Ã¥È¤·¤Þ¤»¤ó # <script\s[a-zA-Z0-9<>()-\.!_~*,;/:@&=+$,%#'""]+>[a-zA-Z0-9<>()-\.!_~*,;/:@&=+$,%#]+\</script> # # ²òÅú¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹ # # 'script¥¿¥°³«»Ï¤ò´Þ¤á¤Æscript¥¿¥°½ªÎ»¥¿¥°¤Þ¤Ç¤ò¾Ãµî'(_ʸ»úÎó,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó) :- sub_atom(_ʸ»úÎó,_,_,_,S1,S2,S3,L1,L2,L3), L2 = [<,s,c,r,i,p,t,' '|R2], append(R20,[/,s,c,r,i,p,t,>],R2), \+(append(_,[<,s,c,r,i,p,t,' '|_],R20)), \+(append(_,[/,s,c,r,i,p,t,>|_],R20)), 'script¥¿¥°³«»Ï¤ò´Þ¤á¤Æscript¥¿¥°½ªÎ»¥¿¥°¤Þ¤Ç¤ò¾Ãµî'(S3,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó2), concat_atom([S1,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó2],_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó),!. 'script¥¿¥°³«»Ï¤ò´Þ¤á¤Æscript¥¿¥°½ªÎ»¥¿¥°¤Þ¤Ç¤ò¾Ãµî'(_ʸ»úÎó,_ʸ»úÎó). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1311089619/623 # # [1] ¼ø¶Èñ¸µ¡§C¸À¸ì±é½¬ # [2] ÌäÂêʸ(´Þ¥³¡¼¥É&¥ê¥ó¥¯)¡§ # n¸Ä¤Î¥Ç¡¼¥¿¤ò¹ß½ç¤ËʤÓÊѤ¨¤ë´Ø¿ô¤òºîÀ®¤·¤Ê¤µ¤¤¡£ # ¤¿¤À¤·¡¢¸Ä¿ôn¤òÀè¤ËÆþÎϤ·¡¢É¬Íפʥá¥â¥êÎΰè¤ò´Ø¿ômalloc()¤òÍѤ¤¤Æ³ÎÊݤ¹¤ë¤³¤È¡£ # ¤¹¤Ê¤ï¤Á¡¢ÇÛÎó¤Ë¤è¤ëÀë¸À¤Ï¤»¤º¤Ë¡¢¥Ý¥¤¥ó¥¿¤ÇÀë¸À¤¹¤ë¡£ # ¤Þ¤¿¡¢2¤Ä¤ÎÊÑ¿ô¤ÎÃͤòÆþ¤ìÂØ¤¨¤ë´Ø¿ôswap()¤âºîÀ®¤¹¤ë¤³¤È¡£ # http://ime.nu/codepad.org/hZCN4vEh # ¾å¤Î²ÝÂê¤òÄó½Ð¤·¤¿¤Î¤Ç¤¹¤¬¡¢ºÆÄó½Ð¤òÍ׵ᤵ¤ì¤Þ¤·¤¿¡£ # ¥³¥á¥ó¥È¤ËÂФ¹¤ëľ¤·¤¬¤ï¤«¤ëÊý¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£ # 'n¸Ä¤Î¥Ç¡¼¥¿¤ò¹ß½ç¤ËʤÓÊѤ¨¤ë'(_n¸Ä) :- length(L1,_n¸Ä), n¸Ä¤ÎÍ×ÁǤËÃͤòµÍ¤á¤ë(L1), ¹ß½ç¤Ë¤Ê¤é¤ÓÊѤ¨¤ë(L1,L2). 'Æó¤Ä¤ÎÍ×ÁǤòÆþ¤ìÂØ¤¨¤ë'(_mÈÖÌÜ,_nÈÖÌÜ,L1,L2) :- length([_|L01],_mÈÖÌÜ), length([_|L02],_nÈÖÌÜ), append(L01,[A|R1],L1), append(L01,[B|R1],L3), append(L02,[B|R2],L3), append(L02,[A|R2],L2),!. n¸Ä¤ÎÍ×ÁǤËÃͤòµÍ¤á¤ë(L1) :- findall(N,( append(_,[_|_],L1), N is random(1000)), L1). ¹ß½ç¤Ë¤Ê¤é¤ÓÊѤ¨¤ë([],[]) :- !. ¹ß½ç¤Ë¤Ê¤é¤ÓÊѤ¨¤ë(L1,L2) :- L1 = [A|R], ¹ß½ç¤Ë¤Ê¤é¤ÓÊѤ¨¤ë(A,R,L2). ¹ß½ç¤Ë¤Ê¤é¤ÓÊѤ¨¤ë(A,L1,L2) :- ʬ³ä(A,L1,_¤è¤êÂ礤¤¤Ê¤é¤Ó,_¤è¤ê¾®¤µ¤¤¤Ê¤é¤Ó), ¹ß½ç¤Ë¤Ê¤é¤ÓÊѤ¨¤ë(_¤è¤êÂ礤¤¤Ê¤é¤Ó,L3), ¹ß½ç¤Ë¤Ê¤é¤ÓÊѤ¨¤ë(_¤è¤ê¾®¤µ¤¤¤Ê¤é¤Ó,L4), append(L3,[A|L4],L2). ʬ³ä(_,[],[],[]) :- !. ʬ³ä(A,[B|R1],[B|R2],R3) :- B @> A, ʬ³ä(A,R1,R2,R3). ʬ³ä(A,[B|R1],R2,[B|R3]) :- B @=< A, ʬ³ä(A,R1,R2,R3). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1306768580/535 # # Í×ÁÇ¿ô7¤Î¥ê¥¹¥È¤Ç6ÈÖÌܤ«¤é¥¹¥¿¡¼¥È¤·¤ÆºÇ¸å¤Þ¤ÇÍ褿¤éºÇ½é¤ËÌá¤ê5ÈÖÌܤò¼è¤ê½Ð¤·¤Æ½ª¤ï¤ë # 'Í×ÁÇ¿ô7¤Î¥ê¥¹¥È¤Ç6ÈÖÌܤ«¤é¥¹¥¿¡¼¥È¤·¤ÆºÇ¸å¤Þ¤ÇÍ褿¤éºÇ½é¤ËÌá¤ê5ÈÖÌܤò¼è¤ê½Ð¤·¤Æ½ª¤ï¤ë'(_Í×ÁÇ,_Í×ÁÇ¿ô7¤Î¤Ê¤é¤Ó) :- length([_|Ln],6), append(L0,[A|R],_Í×ÁÇ¿ô7¤Î¤Ê¤é¤Ó), append([A|R],L0,L2), append(_,[_Í×ÁÇ|_],L2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1301067486/266 # # ¡üÀµµ¬É½¸½¤Î»ÈÍѴĶ # PHP 5.2.5 # # ¡ü¸¡º÷¤«ÃÖ´¹¤«¡© # ÃÖ´¹ # # ¡üÀâÌÀ # <a>¤Ç¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤URL¤À¤±¤ò¥ê¥ó¥¯¤·¤¿¤¤ # # ¡üÂоݥǡ¼¥¿ # <a href='http://ime.nu/aaaaaa/aaa'>http://aaaaaa/aaa</a> # <a href='http://ime.nu/aaaaaa/aaa'>bbb</a> # http://ime.nu/aaaaaa/aaa # http://ime.nu/aaaaaa/aaa # # (http¤ÎÁ°¤Ë²þ¹Ô¤Ï̵¤¤¤Ç¤¹) # # ¡ü´õ˾¤¹¤ë·ë²Ì # # <a href="http://ime.nu/aaaaaa/aaa">http://ime.nu/aaaaaa/aaa</a> # <a href="http://ime.nu/aaaaaa/aaa">bbb</a> # <a href="http://ime.nu/aaaaaa/aaa">http://ime.nu/aaaaaa/aaa</a> # <a href="http://ime.nu/aaaaaa/aaa">http://ime.nu/aaaaaa/aaa</a> # # # ¢¤³¤ì¤Ç¤Ï¥À¥á¤Ç¤·¤¿¡£¡£ # /((?![\"\'>])(https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)(?![\"\'<]))/ # 'A¥¿¥°¤Ç¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤URL¤À¤±¤ò¥ê¥ó¥¯¤·¤¿¤¤'(_ʸ»úÎó,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó) :- sub_atom(_ʸ»úÎó,_,_,_,S1,S2,S3,L1,L2,L3), L1 = [<,a,>|R1], append(R0,[<,/,a,>],R1), \+(append(_,[<,a,>|_],R0)), \+(append(_,[<,/,a,>|_],R0)), 'A¥¿¥°¤Ç¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤URL¤À¤±¤ò¥ê¥ó¥¯¤·¤¿¤¤'(S3,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó¤Î¥Ë), concat_atom([S1,S2,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó¤Î¥Ë],_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó),!. 'A¥¿¥°¤Ç¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤URL¤À¤±¤ò¥ê¥ó¥¯¤·¤¿¤¤'(_ʸ»úÎó,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó) :- sub_atom(_ʸ»úÎó,_,_,_,S1,S2,S3,L1,L2,L3), L1 = [h,t,t,p,:,/,/|R1], member(C,R1), \+(member(C,[' ',',','\n'])), concat_atom([S1,'',S2,'\n'],S4), concat_atom([S4,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó¤Î¥Ë],_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó),!. 'A¥¿¥°¤Ç¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤URL¤À¤±¤ò¥ê¥ó¥¯¤·¤¿¤¤'(_ʸ»úÎó,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó) :- sub_atom(_ʸ»úÎó,_,_,_,S1,S2,S3,L1,L2,L3), L1 = [h,t,t,p,:,/,/|R1], last(R1,C), member(C,[' ',',','\n']), concat_atom([S1,'',S2,'\n'],S4), 'A¥¿¥°¤Ç¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤URL¤À¤±¤ò¥ê¥ó¥¯¤·¤¿¤¤'(S3,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó¤Î¥Ë), concat_atom([S4,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó¤Î¥Ë],_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó),!. 'A¥¿¥°¤Ç¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤URL¤À¤±¤ò¥ê¥ó¥¯¤·¤¿¤¤'(_ʸ»úÎó,_ʸ»úÎó). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/php/1168450843/741 # # Á´¤Æ¤Îdiv¤òºï½ü¤·¤¿¤¤Ìõ¤Ç¤Ê¤¯¡¢<td....></td>´Ö¤Ë¤¢¤ë<div></div>¤òºï½ü¤·¤¿¤¤¤Î¤Ç¤¹¡£ # <td....></td>´Ö¤Ë¤¢¤ë¤â¤Î¤Ïºï½ü¤·¤Æ¡¢¤½¤ì°Ê³°¤Ï²þ¹Ô¤·¤¿¤¤¤Î¤Ç¤¹¡£ # 'td¥¿¥°¤ÎÃæ¤Îdiv¥¿¥°¤ò¼è¤ê½ü¤¯'(_ʸ»úÎó,_¼è¤ê½ü¤«¤ì¤¿Ê¸»úÎó) :- atom_chars(_ʸ»úÎó,Chars), append(L0,[<,t,d,>|L],[<,/,t,d>|R1],Chars), \+(append(_,[<,t,d,>|R2],L)), \+(append(_,[,t,d,>|R3],R2)), append(L01,[<,d,i,v,>|L2],[<,/,d,i,v>|R3],L), append(L0,[<,t,d,>|L01],R3,L1), append(L1,[<,/,t,d|R1],Chars2), atom_chars(_¼è¤ê½ü¤«¤ì¤¿Ê¸»úÎó,Chars2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1307166756/953 # # ../test/read.cgi/tech/1307166756/928¤Ç¤¹ # ¾®½Ð¤·¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¿½¤·Ìõ¤Ê¤¤¤Î¤Ç¤¹¤¬¤â¤¦1¤Ä¤ª´ê¤¤¤·¤Þ¤¹ # # [1] ¼ø¶Èñ¸µ¡§¥×¥í¥°¥é¥ß¥ó¥° # [2] ÌäÂêʸ(´Þ¥³¡¼¥É&¥ê¥ó¥¯)¡§ # Ť¤¤Î¤Ç¤í¤À¤Ë¤¦£ð¤·¤Þ¤·¤¿ # http://ime.nu/www.dotup.org/uploda/www.dotup.org1726929.txt # # file03.txt # http://ime.nu/www.dotup.org/uploda/www.dotup.org1726932.txt # 'file1¤òÆÉ¤ß¹þ¤ß¡¢n1¹ÔÌܤ«¤én2(n2>=n1)¹ÔÌܤޤǤò¥³¥Ô¡¼¤·¤Æ¡¢m¹ÔÌܤÈm+1¹ÔÌÜ¤Î´Ö¤ËÆþ¤ìfile2¤Ë½ñ¤¹þ¤à'(_n1,_n2,_m) :- 'file1¤òÆÉ¤ß¹þ¤ß'(LL1), 'n1¹ÔÌܤ«¤én2(n2>=n1)¹ÔÌܤޤǤò¥³¥Ô¡¼¤·¤Æ'(LL1,_n1,_n2,LL2), 'm¹ÔÌܤÈm+1¹ÔÌÜ¤Î´Ö¤ËÆþ¤ì'(LL1,_m,_LL2,LL3), 'file2¤Ë½ñ¤¹þ¤à'(LL3). 'file1¤òÆÉ¤ß¹þ¤ß'(LL1) :- get_lines(file1,LL1),!. 'n1¹ÔÌܤ«¤én2(n2>=n1)¹ÔÌܤޤǤò¥³¥Ô¡¼¤·¤Æ'(LL,_n1,_n2,_¥³¥Ô¡¼) :- length([_|LL0],_n1), append(LL0,_,LL), length(LL02,_n2), append(LL02,_,LL), append(LL0,_¥³¥Ô¡¼,LL02),!. 'm¹ÔÌܤÈm+1¹ÔÌÜ¤Î´Ö¤ËÆþ¤ì'(LL,_m,_¥³¥Ô¡¼,LL3) :- length(LL0,_m), append(LL0,LL1,LL), append(LL0,_¥³¥Ô¡¼,LL2), append(LL2,LL1,LL3),!. 'file2¤Ë½ñ¤¹þ¤à'(LL) :- open(file2,write,Outstream), append(_,[Line|R],LL), writef(Outstream,'%t\n',[Line]), R = [], close(Outstream). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1307166756/885 # # [1] ¼ø¶Èñ¸µ¡§¥×¥í¥°¥é¥ß¥ó¥° # [2] ÌäÂêʸ(´Þ¥³¡¼¥É&¥ê¥ó¥¯)¡§ # file1¤òÆÉ¤ß¹þ¤ß¡¢n1¹ÔÌܤ«¤én2 (n2>=n1)¹ÔÌܤޤǤòºï½ü¤·¡¢file2¤Ë½ñ¤¹þ¤à¥Õ¥¡¥¤¥ë¡¢ensyu03.c¤òºîÀ®¤»¤è # Ãí°Õ¡§ÀÚ¤ê¼è¤Ã¤¿ºÝ¡¢Ê¸¾Ï¤Ï¾å¤ËµÍ¤á¤ë¤³¤È # erase_multiline( ¡Éfile1¡É, ¡Éfile2¡É, n1, n2 ) ; # # file1¤òÆÉ¤ß¹þ¤ß¡¢n¹ÔÌܤÈm¹ÔÌܤòÆþ¤ìÂØ¤¨¡¢file2¤Ë½ñ¤¹þ¤à¥Õ¥¡¥¤¥ë¡¢ensyu04.c¤òºîÀ®¤»¤è # replace_lines( ¡Éfile1¡É, ¡Éfile2¡É, n, m ) ; # # file1¤òÆÉ¤ß¹þ¤ß¡¢ÆÃÄê¤Îʸ»úÎóstring ¤ò´Þ¤à¹Ô¤òºï½ü¤·¡¢file2¤Ë½ñ¤¹þ¤à¥Õ¥¡¥¤¥ë¡¢ensyu05.c¤òºîÀ®¤»¤è # erase_string( ¡Éfile1¡É, ¡Éfile2¡É, ¡Éstring¡É ) ; # # file1¤òÆÉ¤ß¹þ¤ß¡¢ÆÃÄê¤Îʸ»úc ¤òºï½ü¤·¡¢file2¤Ë½ñ¤¹þ¤à¥Õ¥¡¥¤¥ë¡¢ensyu06.c¤òºîÀ®¤»¤è # erase_char( ¡Éfile1¡É, ¡Éfile2¡É, ¡Çc¡Ç ) ; # 'file1¤òÆÉ¤ß¹þ¤ß¡¢n1¹ÔÌܤ«¤én2 (n2>=n1)¹ÔÌܤޤǤòºï½ü¤·¡¢file2¤Ë½ñ¤¹þ¤à'(_n1¹ÔÌÜ,_n2¹ÔÌÜ) :- file1¤òÆÉ¤ß¹þ¤ß(Lines), 'n1¹ÔÌܤ«¤én2 (n2>=n1)¹ÔÌܤޤǤòºï½ü¤·'(Lines,_n1¹ÔÌܤ«¤én2¹ÔÌܤޤǤòºï½ü¤µ¤ì¤¿¤Ê¤é¤Ó), file2¤Ë½ñ¤¹þ¤à(_n1¹ÔÌܤ«¤én2¹ÔÌܤޤǤòºï½ü¤µ¤ì¤¿¤Ê¤é¤Ó),!. file1¤òÆÉ¤ß¹þ¤ß(Lines) :- get_lines(file1,Lines). 'n1¹ÔÌܤ«¤én2 (n2>=n1)¹ÔÌܤޤǤòºï½ü¤·'(Lines,_n1¹ÔÌܤ«¤én2¹ÔÌܤޤǤòºï½ü¤µ¤ì¤¿¤Ê¤é¤Ó) :- length([_|L0],_n1¹ÔÌÜ), length(L2,_n2¹ÔÌÜ), append(L0,L1,L2), append(L2,L3,Lines), append(L0,L3,_n1¹ÔÌܤ«¤én2¹ÔÌܤޤǤòºï½ü¤µ¤ì¤¿¤Ê¤é¤Ó),!. file2¤Ë½ñ¤¹þ¤à(_n1¹ÔÌܤ«¤én2¹ÔÌܤޤǤòºï½ü¤µ¤ì¤¿¤Ê¤é¤Ó) :- open(file2,write,Outstream), append(_,[Line|R],_n1¹ÔÌܤ«¤én2¹ÔÌܤޤǤòºï½ü¤µ¤ì¤¿¤Ê¤é¤Ó), writef('%t\n',[Line]), R = [], close(Outstream),!. % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1307166756/883 # # ¤¢¤È¡¢¤â¤¦¤Ò¤È¤ÄÌäÂê # £²¡¥201003121¡Ê10¿Ê¿ô9·å¡Ë¡¢ÀÊÌ¡ÊÃË¡§1¡¢½÷¡§2¡Ë¡¢Ç¯Îá¡Ê̤À®Ç¯:0,À®Ç¯:1,¹âÎð:2,¸å´ü¹âÎð¡§£³¡Ë¡¢ # ¿¦¶È¡Ê̵¡§0¡¢Í¡§1¡Ë¤Ç¸Ä¡¹¿Í¤¬16ʬÎव¤ì¤ë¡£¤½¤ì¤¾¤ì¤ò¿ô»ú¡Ê¥³¡¼¥É¡Ë¤ÇÆþÎϤµ¤»¡¢ # ¤½¤Î¿Í¤Î¾õÂÖ¤ò°ìö¥Ç¥£¥¹¥×¥ì¥¤¤Ëɽ¼¨¤·¡¢ifʸ¤ò»È¤Ã¤Æ¡¢¼«Á³¤Êʸ¾Ï¤ÇºÇ¸å¤Ëɽ¼¨¤¹¤ë¥×¥í¥°¥é¥à¤òºî¤ì # '¤½¤ì¤¾¤ì¤ò¿ô»ú¡Ê¥³¡¼¥É¡Ë¤ÇÆþÎϤµ¤»¡¢¤½¤Î¿Í¤Î¾õÂÖ¤ò°ìö¥Ç¥£¥¹¥×¥ì¥¤¤Ëɽ¼¨¤·¡¢ifʸ¤ò»È¤Ã¤Æ¡¢¼«Á³¤Êʸ¾Ï¤ÇºÇ¸å¤Ëɽ¼¨¤¹¤ë' :- '¤½¤ì¤¾¤ì¤ò¿ô»ú¡Ê¥³¡¼¥É¡Ë¤ÇÆþÎϤµ¤»'(_¸Ä¿ÍID,_ʬÎॳ¡¼¥É), ʬÎॳ¡¼¥É¤ÎÀ¸À®([_ʬÎॳ¡¼¥É,_ÀÊÌ,_ǯÎð,_¿¦¶È],_ʬÎàɽ¼¨), writef('%t\n',[_ʬÎàɽ¼¨]), ¼«Á³¤Êʸ¾Ï¤ÇºÇ¸å¤Ëɽ¼¨¤¹¤ë(_¸Ä¿ÍID,_ÀÊÌ,_ǯÎð,_¿¦¶È). '¤½¤ì¤¾¤ì¤ò¿ô»ú¡Ê¥³¡¼¥É¡Ë¤ÇÆþÎϤµ¤»'(_¸Ä¿ÍID,_ʬÎॳ¡¼¥É) :- ¸Ä¿ÍID¤ÎÆþÎÏ(_¸Ä¿ÍID), ʬÎॳ¡¼¥É¤ÎÆþÎÏ(_ʬÎॳ¡¼¥É),!. ¸Ä¿ÍID¤ÎÆþÎÏ(_¸Ä¿ÍID) :- write('¸Ä¿ÍID¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤ : '), get_line(Line), ¸Ä¿ÍIDÆþÎÏ¿ÇÃÇ(Line,_¸Ä¿ÍID),!. ¸Ä¿ÍID¤ÎÆþÎÏ(_¸Ä¿ÍID) :- ¸Ä¿ÍID¤ÎÆþÎÏ(_¸Ä¿ÍID). ¸Ä¿ÍIDÆþÎÏ¿ÇÃÇ(Line,_¸Ä¿ÍID) :- atom_to_term(Line,_¸Ä¿ÍID,_), integer(_¸Ä¿ÍID), _¸Ä¿ÍID >= 100000000, _¸Ä¿ÍID =< 999999999,!. ¸Ä¿ÍIDÆþÎÏ¿ÇÃÇ(Line,_¸Ä¿ÍID) :- writef('ÆþÎϤµ¤ì¤¿ %t ¤«¤é¤ÏŬÀڤʸĿÍID¤¬ÆÀ¤é¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£ºÆÆþÎϤò¤ª´ê¤¤¤·¤Þ¤¹¡£\n',[Line]), fail. ʬÎॳ¡¼¥É¤ÎÆþÎÏ(_ʬÎॳ¡¼¥É) :- ʬÎॳ¡¼¥Éɽ¼¨, write('ʬÎॳ¡¼¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤ : '), get_line(Line), ʬÎॳ¡¼¥ÉÆþÎÏ¿ÇÃÇ(Line,_ʬÎॳ¡¼¥É),!. ʬÎॳ¡¼¥É¤ÎÆþÎÏ(_ʬÎॳ¡¼¥É) :- ʬÎॳ¡¼¥É¤ÎÆþÎÏ(_ʬÎॳ¡¼¥É). ʬÎॳ¡¼¥ÉÆþÎÏ¿ÇÃÇ(Line,_ʬÎॳ¡¼¥É) :- atom_to_term(Line,_ʬÎॳ¡¼¥É,_), integer(_ʬÎॳ¡¼¥É), _ʬÎॳ¡¼¥É >= 0, _ʬÎॳ¡¼¥É =< 15,!. ʬÎॳ¡¼¥ÉÆþÎÏ¿ÇÃÇ(Line,_ʬÎॳ¡¼¥É) :- writef('ÆþÎϤµ¤ì¤¿ %t ¤«¤é¤ÏʬÎॳ¡¼¥É¤¬ÆÀ¤é¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£ºÆÆþÎϤò¤ª´ê¤¤¤·¤Þ¤¹¡£\n',[Line]), fail. ʬÎॳ¡¼¥É¤ÎÀ¸À®([_ʬÎॳ¡¼¥É,_ÀÊÌ,_ǯÎð,_¿¦¶È],_ʬÎàɽ¼¨) :- append(L01,[_ÀÊÌ|_],['ÃË','½÷']), append(L02,[_ǯÎð|_],['̤À®Ç¯','ÀÄǯ','¹âÎð¼Ô','¸å´ü¹âÎð¼Ô']), append(L03,[_¿¦¶È|_],['̵','Í']), length(L01,N1), length(L02,N2), length(L03,N3), _ʬÎॳ¡¼¥É is N1 * 8 + N2 * 2 + N3, concat_atom(['ʬÎॳ¡¼¥É ',_ʬÎॳ¡¼¥É,' [','ÀÊÌ:',_ÀÊÌ,' ','ǯÎð: ',_ǯÎð,' ','¿¦¶È: ',_¿¦¶È,']'],_ʬÎàɽ¼¨). ʬÎॳ¡¼¥Éɽ¼¨ :- ʬÎॳ¡¼¥É¤ÎÀ¸À®([_ʬÎॳ¡¼¥É,_ÀÊÌ,_ǯÎð,_¿¦¶È],_ʬÎàɽ¼¨), writef('%t\n',[_ʬÎàɽ¼¨]), fail. ʬÎॳ¡¼¥Éɽ¼¨. ¼«Á³¤Êʸ¾Ï¤ÇºÇ¸å¤Ëɽ¼¨¤¹¤ë(_¸Ä¿ÍID,_ÀÊÌ,_ǯÎð,_¿¦¶È) :- writef('¸Ä¿ÍID¤¬%t¤Î¿Í¤Ï¡¢%t¤Ç',[_¸Ä¿ÍID,_ÀÊÌ]), ¼«Á³¤ÊǯÎðɽ¸½(_ǯÎð), ¼«Á³¤Ê¿¦¶Èɽ¸½(_¿¦¶È). ¼«Á³¤ÊǯÎðɽ¸½(_ǯÎð) :- writef('ǯÎðʬÎà¤Ï%t¡¢',[_ǯÎð]). ¼«Á³¤Ê¿¦¶Èɽ¸½(Í) :- write('¿¦¶È¤Ë½¢¤¤¤Æ¤¤¤Þ¤¹¡£\n'). ¼«Á³¤Ê¿¦¶Èɽ¸½(̵) :- write('̵¿¦¤Ç¤¹¡£\n'). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1307166756/617 # # ¡Ú£±¡ÛC¸À¸ì # ¡Ú£²¡Û¥¥ã¥é¥¯¥¿¤Ç¥Ô¥é¥ß¥Ã¥É¤òɽ¼¨¤¹¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤»¤è # ¼Â¹Ô·ë²Ì # ²¿Ãʤˤ·¤Þ¤¹¤«¡© # 7 # # ¡¡¡¡¡¡¡¡¡¡¡¡¡ô # ¡¡¡¡¡¡¡¡¡¡¡ô¡ô¡ô # ¡¡¡¡¡¡¡¡¡ô¡ô¡ô¡ô¡ô # ¡¡¡¡¡¡¡ô¡ô¡ô¡ô¡ô¡ô¡ô # ¡¡¡¡¡ô¡ô¡ô¡ô¡ô¡ô¡ô¡ô¡ô # ¡¡¡ô¡ô¡ô¡ô¡ô¡ô¡ô¡ô¡ô¡ô¡ô # ¡ô¡ô¡ô¡ô¡ô¡ô¡ô¡ô¡ô¡ô¡ô¡ô¡ô # ¡Ú£³¡ÛUNIX¤ÎC¸À¸ì # ¡Ú£´¡Û6/1£·¤Þ¤Ç # ¤ª´ê¤¤¤·¤Þ¤¹ # # ¥¥ã¥é¥¯¥¿¤Ç¥Ô¥é¥ß¥Ã¥É¤òɽ¼¨¤¹¤ë :- ²¿Ãʤˤ·¤Þ¤¹¤«(_ÃÊ¿ô), ɽ¼¨ÏȤòºî¤ë(_ÃÊ¿ô,_ɽ¼¨ÏÈ), ɽ¼¨¤¹¤ë(_ɽ¼¨ÏÈ), R = []. ²¿Ãʤˤ·¤Þ¤¹¤«(_ÃÊ¿ô) :- write('²¿Ãʤˤ·¤Þ¤¹¤« : '), readln([_ÃÊ¿ô]), integer(_ÃÊ¿ô),!. ²¿Ãʤˤ·¤Þ¤¹¤«(_ÃÊ¿ô) :- write('À°¿ô¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£ '), ²¿Ãʤˤ·¤Þ¤¹¤«(_ÃÊ¿ô). ɽ¼¨ÏȤòºî¤ë(_ÃÊ¿ô,_ɽ¼¨ÏÈ) :- length(L,_ÃÊ¿ô), append(L0,[_|R],L), '¡ô¤òÖȤᤳ¤à'(L0,R), append(L0,R,L1), append(R,L0,L2), append(L2,['¡ô'|L1],_ɽ¼¨ÏÈ). '¡ô¤òÖȤᤳ¤à'(L0,R) :- all(R,'¡¡'), all(L0,'¡ô'). ɽ¼¨¤¹¤ë(L3) :- concat_atom(L3,S), writef('%t\n',[S]). all([],_). all([V|R],V) :- all(R,V). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1307166756/543 # # ¤É¤Ê¤¿¤«¤ª´êÃפ·¤Þ¤¹¡£¡ÊÌäÂêʸ¤Ë¤¢¤ë¡¡¡É¾õÂÖÁ«°Ü¿Þ¤òºî¤ì¡É¡¡¤Ï̵»ë¤·¤Æ¤â¤é¤Ã¤Æ·ë¹½¤Ç¤¹¡Ë # # [1] ¼ø¶Èñ¸µ¡§¡¡¥½¥Õ¥È¥¦¥§¥¢Àß·×Ë¡ # [2] ÌäÂêʸ # # C¤Î¥½-¥¹¥×¥í¥°¥é¥à¤òÆÉ¤ó¤Ç¡¢¥³¥á¥ó¥È¡Ê/* ¤È */¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¡Ë¤À¤±¤ò¼è¤ê½Ð¤¹¥×¥í¥°¥é¥à¤Î¾õÂÖÁ«°Ü¿Þ # ¤òºî¤ì¡£¤³¤Î¤È¤¡¢Ê¸»úÎó¡Ê" ¤È "¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¡ËÃæ¤Î/* ¤ä */¤Ï¥³¥á¥ó¥È¤Ë¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£ # ¤µ¤é¤Ë¡¢¥³¥á¥ó¥ÈÃæ¤Îʸ»úÎó¤Ïʸ»úÎó¤Ë¤Ê¤é¤Ê¤¤¡£¤³¤Î¾õÂÖÁ«°Ü¿Þ¤ò¤â¤È¤Ë¡¢À©¸æ¤Î¥Ç¡¼¥¿²½¤ò»È¤Ã¤¿¥×¥í¥°¥é¥à¤òºî¤ì¡£ # # ¢¨¼Â¹ÔÎã¡¢¿Þ¤Ê¤É¤ÏµºÜ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿ # 'C¤Î¥½-¥¹¥×¥í¥°¥é¥à¤òÆÉ¤ó¤Ç¡¢¥³¥á¥ó¥È¡Ê/* ¤È */¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¡Ë¤À¤±¤ò¼è¤ê½Ð¤¹¡£¤³¤Î¤È¤¡¢Ê¸»úÎó¡Ê" ¤È "¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¡ËÃæ¤Î/* ¤ä */¤Ï¥³¥á¥ó¥È¤Ë¤Ê¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£¤µ¤é¤Ë¡¢¥³¥á¥ó¥ÈÃæ¤Îʸ»úÎó¤Ïʸ»úÎó¤Ë¤Ê¤é¤Ê¤¤¡£'(File) :- get_chars(File,Chars), '¥³¥á¥ó¥È¡Ê/* ¤È */¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¡Ë¤À¤±¤ò¼è¤ê½Ð¤¹'(Chars,_¥³¥á¥ó¥È¤Ê¤é¤Ó). '¥³¥á¥ó¥È¡Ê/* ¤È */¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¡Ë¤À¤±¤ò¼è¤ê½Ð¤¹'([],[]) :- !. '¥³¥á¥ó¥È¡Ê/* ¤È */¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¡Ë¤À¤±¤ò¼è¤ê½Ð¤¹'(['/','*'|R1],[_¥³¥á¥ó¥È|R2]) :- append(L0,['*','/'|R3],R1), \+(append(_,['*','/'|_],L0)), \+(append(_,['/','*'|_],L0)), concat_atom(L0,_¥³¥á¥ó¥È), '¥³¥á¥ó¥È¡Ê/* ¤È */¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¡Ë¤À¤±¤ò¼è¤ê½Ð¤¹'(R3,R2),!. '¥³¥á¥ó¥È¡Ê/* ¤È */¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¡Ë¤À¤±¤ò¼è¤ê½Ð¤¹'(['"'|R1],R2) :- append(L0,['"'|R3],R1), \+(append(_,['"'|_],L0)), '¥³¥á¥ó¥È¡Ê/* ¤È */¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¡Ë¤À¤±¤ò¼è¤ê½Ð¤¹'(R3,R2). '¥³¥á¥ó¥È¡Ê/* ¤È */¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¡Ë¤À¤±¤ò¼è¤ê½Ð¤¹'([_|R1],R2) :- '¥³¥á¥ó¥È¡Ê/* ¤È */¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¡Ë¤À¤±¤ò¼è¤ê½Ð¤¹'(R1,R2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1305867431/845 # # [1] ¼ø¶Èñ¸µ¡§¥Ý¥¤¥ó¥¿·¿¡¢ÇÛÎ󷿤ÎÇÉÀ¸ # [2] ÌäÂêʸ(´Þ¥³¡¼¥É&¥ê¥ó¥¯)¡§ # ¡¡[A]Àë¸À¤Ë¤è¤ë¾ì¹ç¡¡¡¡¡¡short d[L][M][N]; # ¡¡[B]ưŪ³ÎÊݤˤè¤ë¾ì¹ç¡¡¡Ê[A]¤ÈƱ¤¸¥µ¥¤¥º¡£À¸À®Ë¡¤Ï¹ÖµÁ»þ¤ÈƱÍÍ¡§»²¹Í¥³¡¼¥Éhttp://ime.nu/ideone.com/nWTXg¡Ë # ¡¡short·¿¤Î3¼¡¸µÇÛÎó¤òÀ¸À®¤·¤¿¾ì¹ç¤Ë¤Ä¤¤¤Æ¡¢(1)¡Á(7)¤Î²òÅú¤òƳ¤±¡£ # ¡¡¡Ê¾å¤ÎÀë¸À¤Ë¤è¤ë¾ì¹ç¤ÈưŪ³ÎÊݤˤè¤ë¾ì¹ç¤ÎξÊý¤Ë¤Ä¤¤¤ÆÅú¤¨¤è¡£ # ¡¡¡¡¤Ê¤ª¡¢short·¿¤È¥Ý¥¤¥ó¥¿·¿¤Î¥µ¥¤¥º¤Ï¤½¤ì¤¾¤ì2¥Ð¥¤¥È¤È8¥Ð¥¤¥È¤È¤¹¤ë¡Ë # # ¡¡¡Ê1¡ËÍ×ÁÇd[i][j][k]¤Ø¤Î¥¢¥¯¥»¥¹¼ê½ç # ¡¡¡Ê2¡ËÍ×ÁÇd[i][j][k]¤Ø¤Î¥¢¥¯¥»¥¹¤ËÍפ¹¤ë¥¢¥É¥ì¥¹·×»»¤È¥á¥â¥ê¥¢¥¯¥»¥¹¤Î²ó¿ô # ¡¡¡Ê3¡Ë¥á¥â¥ê»ÈÍÑÎÌ¡ÊL,M,N¤òÍѤ¤¤ÆÉ½¤»¡Ëޥޥޥ½ñ¤Êý¤ÎÎã¡§M¡ßN¡ßsizeof(X)+M¡ßsizeof(X*)+sizeof(X**)¥Ð¥¤¥È # ¡¡¡Ê4¡ËL=3,M=N=512¤Î¾ì¹ç¤Î¥á¥â¥ê»ÈÍÑÎÌ¡ÊKBñ°Ì¡¢¾®¿ôÅÀ°Ê²¼1·å¤Þ¤Ç¡£1KB¤Ï1024B¤È¤¹¤ë¡£¡Ë # ¡¡¡Ê5¡ËL=M=512,N=3¤Î¾ì¹ç¤Î¥á¥â¥ê»ÈÍÑÎ̡ʾå¤ÈƱ¤¸¾ò·ï¡Ë # ¡¡¡Ê6¡Ë´Ø¿ô¤Ø¤ÎÅϤ·Êýޥޥޥ½ñ¤Êý¤ÎÎã¡§func(aax); # ¡¡¡Ê7¡Ë´Ø¿ô¤Ç¤Î¼õ¤±Êýޥޥޥ½ñ¤Êý¤ÎÎã¡§func(int **aay){ } # 'Í×ÁÇd[i][j][k]¤Ø¤Î¥¢¥¯¥»¥¹¼ê½ç'(L,_i,_j,_k,_d_i_j_k) :- length(L01,_i), length(L02,_j), length(L03,_k), append(L01,[L1|_],L), append(L02,[L2|_],L1), append(L03,[_d_i_j_k|_],L2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ÌäÂê 'List¤ÎÍ×ÁǤ¬[A,B]¤Ç¤¢¤ê¡¢A,B¤Ï¤½¤ì¤¾¤ìList1,List2¤ÎÍ×ÁǤǤ¢¤ë'(List,List1,List2,A,B) :- append(_,[[A,B]|_],List), append(_,[A|_],List1), append(_,[B|_],List2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1276873238/534 # # ¥Æ¥¥¹¥È¥Ü¥Ã¥¯¥¹¤Ë # A222B¤¢¤¢¤¢A555B¤¨¤¨¤¨A¤ª¤ª¤ªB55A454B # ¤ÈÆþ¤Ã¤Æ¤¤¤¿¤È¤·¤Þ¤¹¡£ # ¤³¤Îʸ»úÎó¤Î # A¤ÈB¤È¤½¤Î´Ö¤Îʸ»ú¤ò1¥»¥Ã¥È¤Ë¤·¤Æ¡¢A¤ÈB¤Î´Ö¤Îʸ»ú¤Ë5¤¬Æþ¤Ã¤Æ¤¤¤¿¤È¤¤À¤±¡¢A¤ÈB¤òºï½ü¤¹¤ë # # ¤³¤Î¤è¤¦¤Ê¥í¥¸¥Ã¥¯¤ò¤Ä¤¯¤Ã¤Æ¤¤¤¿¤À¤±¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡© # 'A¤ÈB¤È¤½¤Î´Ö¤Îʸ»ú¤ò1¥»¥Ã¥È¤Ë¤·¤Æ¡¢A¤ÈB¤Î´Ö¤Îʸ»ú¤Ë5¤¬Æþ¤Ã¤Æ¤¤¤¿¤È¤¤À¤±¡¢A¤ÈB¤òºï½ü¤¹¤ë'(_ʸ»úÎó,_ºï½ü¤µ¤ì¤¿Ê¸»úÎó) :- atom_chars(_ʸ»úÎó,Chars), '´Ö¤Ë5¤ò´Þ¤àA¤ÈB¤òºï½ü¤¹¤ë'(Chars,Chars2), atom_chars(_ºï½ü¤µ¤ì¤¿Ê¸»úÎó,Chars2). '´Ö¤Ë5¤ò´Þ¤àA¤ÈB¤òºï½ü¤¹¤ë'([],[]) :- !. '´Ö¤Ë5¤ò´Þ¤àA¤ÈB¤òºï½ü¤¹¤ë'(['A'|R1],L) :- ºÇ½é¤Ë¸½¤ì¤ëB¤Î´Ö¤Ë5¤¬Â¸ºß¤¹¤ë(R1,L0,R2), '´Ö¤Ë5¤ò´Þ¤àA¤ÈB¤òºï½ü¤¹¤ë'(R2,L2), append(L0,L2,L),!. '´Ö¤Ë5¤ò´Þ¤àA¤ÈB¤òºï½ü¤¹¤ë'([_ʸ»ú|R1],[_ʸ»ú|R2]) :- '´Ö¤Ë5¤ò´Þ¤àA¤ÈB¤òºï½ü¤¹¤ë'(R1,R2). ºÇ½é¤Ë¸½¤ì¤ëB¤Î´Ö¤Ë5¤¬Â¸ºß¤¹¤ë(R1,L0,L2) :- append(L0,['B'|L2],R1),!, \+(append(_,['A'|_],L0)), append(_,['5'|_],L0),!. % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1200175247/927 # # n=12 # x=[2,6,20,15,8,21,8,22,15,20,1,15] # y=["Jan","Feb","Mar","Apr","Mey","Jun","Jul","Aug","Sep","Oct","Nov","Dec"] # sx=0 # upper=0 # middle=0 # lower=0 # xmax=0 # xmin=0 # best_x=0 # worst_x=0 # # for i in 0..n-1 # sx=sx+x[i] # end # xave=sx/n # print "Sipments:Total=",sx," Average=",xave,"\n" # puts # for i in 0..n-1 # if x[i] >= xave*1.5 then # upper = upper + 1 # elsif x[i] <= xave*1.5*0.5 # middle = middle + 1 # else x[i] <= xave/2 # lower = lower + 1 # end # end # print "Sales:Upper=",upper," Middle=",middle," Lower=",lower,"\n" # puts # xmax=x[0] # xmin=x[0] # for i in 0..n-1 # if xmax >= x[i] then # best_x = best_x + 1 # else xmin <= x[i] # worst_x = worst_x + 1 # end # end # print "Best Month:",best_x, " Worst Month:",worst_x,"\n" # puts # ½ÐÎÏ·ë²Ì # Sipments:Total=153 Average=12 # Sales:Upper=4 Middle=5 Lower=3 # Best Month:2 Worst Month:10 # ËÜÅö¤ÏBest Month:Aug¡¢Worst Month:Nov¤È¤·¤¿¤¤¤ó¤Ç¤¹¤±¤É¡¢¤É¤¦¤·¤¿¤é¤¤¤¤¤Ç¤¹¤«¡© # ¤ä¤Ã¤Ñ¤êÊÑ¿ô¤¬¤ª¤«¤·¤¤¤ó¤Ç¤¹¤«¡©¤½¤ì¤È¤â¾ò·ï¤Î½ñ¤Êý¤Ç¤¹¤«¡©¡© ÃÍ([2,6,20,15,8,21,8,22,15,20,1,15]). ·îɽ¼¨(['Jan','Feb','Mar','Apr','Mey','Jun','Jul','Aug','Sep','Oct','Nov','Dec']). ·îËè¤ÎÇä¾åʬÀÏ :- ÃÍ(_Ãͤʤé¤Ó), ·îɽ¼¨(_·îɽ¼¨¤Ê¤é¤Ó), Ãͤȷîɽ¼¨¤òÂФˤ¹¤ë(_Ãͤʤé¤Ó,_·îɽ¼¨¤Ê¤é¤Ó,_ÃÍ¡¦·îɽ¼¨¤Ê¤é¤Ó), sum(_Ãͤʤé¤Ó,_¹ç·×ÃÍ), avg(_Ãͤʤé¤Ó,_Ê¿¶ÑÃÍ), ·îÃÍɾ²ÁÅÙ¿ô(_Ãͤʤé¤Ó,_Ê¿¶ÑÃÍ,_¾å,_Ãæ¤Î¾å,_Ãæ¤Î²¼,_²¼), max(_ÃÍ¡¦·îɽ¼¨¤Ê¤é¤Ó,[_Max,_ºÇÎÉ·î]), min(_ÃÍ¡¦·îɽ¼¨¤Ê¤é¤Ó,[_Min,_ºÇ°·î]), writef('¹ç·×ÃÍ=%t,Ê¿¶ÑÃÍ=%t\n',[_¹ç·×ÃÍ,_Ê¿¶ÑÃÍ]), writef('¾å=%t,Ãæ¤Î¾å=%t,Ãæ¤Î²¼=%t,²¼=%t\n',[_¾å,_Ãæ¤Î¾å,_Ãæ¤Î²¼,_²¼]), writef('ºÇÎÉ·î=%t,ºÇ°·î=%t\n',[_ºÇÎÉ·î,_ºÇ°·î]),!. Ãͤȷîɽ¼¨¤òÂФˤ¹¤ë([],[],[]). Ãͤȷîɽ¼¨¤òÂФˤ¹¤ë([_ÃÍ|R1],[_·îɽ¼¨|R2],[[_ÃÍ,_·îɽ¼¨]|R3]) :- Ãͤȷîɽ¼¨¤òÂФˤ¹¤ë(R1,R2,R3). ·îÃÍɾ²ÁÅÙ¿ô(_Ãͤʤé¤Ó,_Ê¿¶ÑÃÍ,_¾å,_Ãæ¤Î¾å,_Ãæ¤Î²¼,_²¼) :- count((append(_,[_ÃÍ|_],_Ãͤʤé¤Ó),_ÃÍ >= _Ê¿¶ÑÃÍ * 1.5),_¾å), count((append(_,[_ÃÍ|_],_Ãͤʤé¤Ó),_ÃÍ >= _Ê¿¶ÑÃÍ * 1.5 / 2,_ÃÍ < _Ê¿¶ÑÃÍ * 1.5),_Ãæ¤Î¾å), count((append(_,[_ÃÍ|_],_Ãͤʤé¤Ó),_ÃÍ >= _Ê¿¶ÑÃÍ * 0.5,_ÃÍ < _Ê¿¶ÑÃÍ * 1.5 / 2),_Ãæ¤Î²¼), count((append(_,[_ÃÍ|_],_Ãͤʤé¤Ó),_ÃÍ < _Ê¿¶ÑÃÍ * 0.5),_²¼). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1268979408/921 # # <p>text</p> ¤ò <h3>text</h3> ¤ËÊÑ´¹¤·¤¿¤¤¤ó¤Ç¤¹¡£ # # ¤¿¤À¤· text ¤¬¤Ê¤¤<p></p>¤Ï¤½¤Î¤Þ¤Þ¤Ç¡£ # # '/<p>(.+?)<\/p>/is', '<h3>$1</h3>' # # ¤³¤³¤«¤é¿Ê¤Þ¤Ê¤¤¡Ä ½õ¤±¤Æ # % % ºÇ½é¤«¤é½ç¤ËÊÑ´¹¤·¤Æ¤¤¤¯Èó·èÄêÀ¤Î½Ò¸ì¤È¤¹¤Ù¤Æ¤ò°ìµ¤¤ËÊÑ´¹¤·¤Æ¤·¤Þ¤¦·èÄêÀ¤Î½Ò¸ì¤ÎξÎã¤ò¼¨¤¹¡£ %%%%%% ºÇ½é¤«¤é½ç¤ËÊÑ´¹¤·¤Æ¤¤¤¯¡£°ÊÁ°¤ËÊÑ´¹¤µ¤ì¤¿Éôʬ¤¬ÊÑ´¹Á°¤Î¾õÂÖ¤ËÌá¤ë¤³¤È¤¬¤Ê¤¤¤è¤¦¤ËÃí°Õ¤¹¤ë %%%%% '
text
¤òtext
¤ËÊÑ´¹¤·¤¿¤¤'(_ʸ»úÎó,_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó) :- sub_atom(_ʸ»úÎó,_,_,_,S1,S2,S3,L1,['<',p,'>'|R2],L3), append(L22,['<','/',p'>'],R2), \+(append(_,['<',p,'>'|_],L22)), \+(append(_,['<',/,p,'>'|_],L22)), \+(L22=[]), append(L1,['<',h,3,'>'|L22],['<','/',h,3,'>'|L3],L4), atom_chars(_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó,L4). 'text
¤òtext
¤ËÊÑ´¹¤·¤¿¤¤'(_ʸ»úÎó,_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó) :- sub_atom(_ʸ»úÎó,_,_,_,S1,S2,S3,L1,['<',p,'>'|R2],L3), append(L22,['<','/',p'>'],R2), \+(append(_,['<',p,'>'|_],L22)), \+(append(_,['<',/,p,'>'|_],L22)), \+(L22=[]), append(L1,['<',h,3,'>'|L22],['<','/',h,3,'>'],L4), atom_chars(_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó1,L4). 'text
¤òtext
¤ËÊÑ´¹¤·¤¿¤¤'(S3,_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó2), concat_atom([_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó1,_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó2],_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó),!. 'text
¤òtext
¤ËÊÑ´¹¤·¤¿¤¤'(_ʸ»úÎó,_ʸ»úÎó). %%%%%%%%%%%%%%%%%%%% Á´ÂΤò°ìµ¤¤ËÊÑ´¹¤·¤Æ¤·¤Þ¤¦·èÄêÀ¤Î½Ò¸ì %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 'text
¤òtext
¤ËÊÑ´¹¤·¤¿¤¤(Á´ÃÖ´¹)'(_ʸ»úÎó,_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó) :- 'ʸ»úÎó¤ÎÃæ¤Îtext
¤òtext
¤ËÊÑ´¹¤·¡¢ÊÑ´¹Éôʬ¤Þ¤Ç¤Î¤Ê¤é¤Ó¤È¤¹¤ë'(_ʸ»úÎó,L), concat_atom(L,_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó). 'text
¤òtext
¤ËÊÑ´¹¤·¡¢ÊÑ´¹Éôʬ¤Þ¤Ç¤Î¤Ê¤é¤Ó¤È¤¹¤ë'(_ʸ»úÎó,[_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó|R]) :- sub_atom(_ʸ»úÎó,_,_,_,S1,S2,S3,L1,['<',p,'>'|R2],L3), append(L22,['<','/',p'>'],R2), \+(append(_,['<',p,'>'|_],L22)), \+(append(_,['<',/,p,'>'|_],L22)), \+(L22=[]), append(L1,['<',h,3,'>'|L22],['<','/',h,3,'>'],L4), atom_chars(_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó,L4), 'text
¤òtext
¤ËÊÑ´¹Éôʬ¤Þ¤Ç¤Î¤Ê¤é¤Ó¤È¤¹¤ë'(S3,R),!. 'text
¤òtext
¤ËÊÑ´¹¤·¡¢ÊÑ´¹Éôʬ¤Þ¤Ç¤Î¤Ê¤é¤Ó¤È¤¹¤ë'(_ʸ»úÎó,[_ʸ»úÎó]). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1268979408/865 # # ¼ÁÌ䤵¤»¤Æ¤¯¤À¤µ¤¤¡£ # ¡Ö¡ãimg¡×°Ê³°¤Î¡Ö¡ã¡×¤ò¡Ö¡õlt;¡×¤ËÃÖ¤´¹¤¨¤ë¤Ë¤Ï¤É¤¦½ñ¤±¤ÐÎɤ¤¤Ç¤·¤ç¤¦¤«¡© # ¡ô¡Öimg(ÃæÎ¬)¡ä¡×°Ê³°¤Î¡Ö¡ä¡×¤â¡Ö¡õgt;¡×¤ËÃÖ¤´¹¤¨¤ëɬÍפ¢¤ê¤¬¤Þ¤¹¤¬¡¢¤½¤Á¤é¤Ï¤Þ¤¿ÊÌÅӹͤ¨¤ë¤È¤·¤Æ¡£¡£ # ¸À¸ì¤ÏPHP¤Ç¤¹¡£¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£ # '¡Ö|R3]), '¡Ö
|R3],_ÃÖ´¹¤·¤¿Éôʬ¤Þ¤Ç¤Îʸ»úÎó,_»Ä¤êʸ»úÎó), concat_atom([_ÃÖ´¹¤·¤¿Éôʬ¤Þ¤Ç¤Îʸ»úÎó,_»Ä¤êʸ»úÎó],_ÃÖ¤´¹¤¨¤¿Ê¸»úÎó). '¡Ö
|R3]), '¡Ö
|R3],_ÃÖ´¹¤·¤¿Éôʬ¤Þ¤Ç¤Îʸ»úÎó,_»Ä¤êʸ»úÎó) :- \+(append(_,[<|_],R2)), \+(append(_,[>|_],R2)), append(L1,['<'|R2],['>'],L4), concat_atom(L4,_ÃÖ´¹¤·¤¿Éôʬ¤Þ¤Ç¤Îʸ»úÎó), concat_atom(R3,_»Ä¤êʸ»úÎó),!. % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/php/1168450843/702 # # ¼¡¤ÎÀµµ¬É½¸½¤Çhoge¥Õ¥©¥ë¥À°Ê²¼¤ÎºÇ¸å¤Î¡Ö/¡×¤Î¸å¤Ë¡Öi/¡×¤¬¶´¤Þ¤ë¤è¤¦¤ËURL¤òÊÑ´¹¤·¤Æ¤ª¤ê¤Þ¤¹¡£ # # RewriteRule ^/hoge(.*)/(.*).html$ http://ime.nu/example.com/hoge/$1/i/$2.html¡¡[L] # # # # ²¼µ¤Î¤è¤¦¤Ê¾ì¹ç¤ÏÌäÂê¤Ê¤¤¤Î¤Ç¤¹¤¬ # # http://ime.nu/example.com/hoge¡¡¢ª¡¡http://ime.nu/example.com/hoge/i/ # http://ime.nu/example.com/hoge/saitama/2011/01/index.html¡¡¢ª¡¡http://ime.nu/example.com/hoge/saitama/2011/01/i/index.html # # # # ¢¤Î¤è¤¦¤Ëhoge¤Ç»Ï¤Þ¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤Ç¤âÊÑ´¹¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£ # http://ime.nu/example.com/hogehoge/kankeinai.html # # hoge¥Õ¥©¥ë¥ÀÇÛ²¼¤Î¤ßÊÑ´¹¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢¤É¤¦¤·¤¿¤é¤¤¤¤¤Ç¤·¤ç¤¦¤«¡© # # ´Ä¶¤Ï # CentOS£µ # Apache£² # # # 'hoge¥Õ¥©¥ë¥À°Ê²¼¤ÎºÇ¸å¤Î¡Ö/¡×¤Î¸å¤Ë¡Öi/¡×¤¬¶´¤Þ¤ë¤è¤¦¤ËURL¤òÊÑ´¹¤¹¤ë'(_ʸ»úÎó,_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó) :- sud_atom(_ʸ»úÎó,_,_,_,S1,'/hoge',S3,L1,L2,L3), L3=[], concat_atom([S1,S2,'/i/'],_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó),!. 'hoge¥Õ¥©¥ë¥À°Ê²¼¤ÎºÇ¸å¤Î¡Ö/¡×¤Î¸å¤Ë¡Öi/¡×¤¬¶´¤Þ¤ë¤è¤¦¤ËURL¤òÊÑ´¹¤¹¤ë'(_ʸ»úÎó,_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó) :- sud_atom(_ʸ»úÎó,_,_,_,S1,'/hoge',S3,L1,L2,[' '|R3]), concat_atom([S1,S2,'/i/',S3],_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó),!. 'hoge¥Õ¥©¥ë¥À°Ê²¼¤ÎºÇ¸å¤Î¡Ö/¡×¤Î¸å¤Ë¡Öi/¡×¤¬¶´¤Þ¤ë¤è¤¦¤ËURL¤òÊÑ´¹¤¹¤ë'(_ʸ»úÎó,_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó) :- sud_atom(_ʸ»úÎó,_,_,_,S1,'/hoge/',S3,L1,L2,[' '|R3]), concat_atom([S1,S2,'i/',S3],_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó),!. 'hoge¥Õ¥©¥ë¥À°Ê²¼¤ÎºÇ¸å¤Î¡Ö/¡×¤Î¸å¤Ë¡Öi/¡×¤¬¶´¤Þ¤ë¤è¤¦¤ËURL¤òÊÑ´¹¤¹¤ë'(_ʸ»úÎó,_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó) :- sud_atom(_ʸ»úÎó,_,_,_,S1,'/hoge/',S3,L1,L2,L3), 'ºÇ¸å¤Î¡Ö/¡×¤Î¸å¤Ë¡Öi/¡×¤¬¶´¤Þ¤ë¤è¤¦¤Ë'(S3,S4), concat_atom([S1,S2,S4],_ÊÑ´¹¤µ¤ì¤¿Ê¸»úÎó). 'ºÇ¸å¤Î¡Ö/¡×¤Î¸å¤Ë¡Öi/¡×¤¬¶´¤Þ¤ë¤è¤¦¤Ë'(S1,S2) :- atom_chars(S1,L), append(L0,['/'|R],L), \+(append(_,[' '|_],L0)), \+(append(_,['/'|_],R)), append(L0,['/i/'|R],L2), atom_chars(S2,L2),!. 'ºÇ¸å¤Î¡Ö/¡×¤Î¸å¤Ë¡Öi/¡×¤¬¶´¤Þ¤ë¤è¤¦¤Ë'(S1,S2) :- concat_atom(['i/',S1],S2),). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1197620454/699 # # [1] ¼ø¶Èñ¸µ¡§¥×¥í¥°¥é¥ß¥ó¥°¼Â½¬ # [2] ÌäÂêʸ(´Þ¥³¡¼¥É&¥ê¥ó¥¯)¡§ # £±¡¥ac¤òabb¤ËÃÖ¤´¹¤¨¤ëºÇ¾®¤Î¥ì¡¼¥ô¥§¥ó¥·¥å¥¿¥¤¥óµ÷Î¥¤òµá¤á¤è # £²¡¥£±¤ò¤â¤È¤Ëdiff¥Ä¡¼¥ë¤òºîÀ®¤»¤è¡£¤Ê¤ª¡¢½ÐÎÏ»þ¤Î·Á¼°¤Ï°Ê²¼¤Î¤È¤ª¤ê¤È¤¹¤ë # ac # ^ # # abb # || # ¥ì¡¼¥Ù¥ó¥·¥å¥¿¥¤¥óµ÷Î¥(_ʸ»úÎó1,_ʸ»úÎó2,_¥ì¡¼¥Ù¥ó¥·¥å¥¿¥¤¥óµ÷Î¥) :- ÊÔ½¸µ÷Î¥(_ʸ»úÎó1,_ʸ»úÎó2,_¥ì¡¼¥Ù¥ó¥·¥å¥¿¥¤¥óµ÷Î¥). ÊÔ½¸µ÷Î¥(S1,S2,_ÊÔ½¸µ÷Î¥) :- atom_chars(S1,LX), atom_chars(S2,LY), ¤Ê¤é¤Ó¤ÎÊÔ½¸µ÷Î¥(LX,LY,Len), length(Len,_ÊÔ½¸µ÷Î¥),!. ¤Ê¤é¤Ó¤ÎÊÔ½¸µ÷Î¥([],LY,LY). ¤Ê¤é¤Ó¤ÎÊÔ½¸µ÷Î¥(LX,[],LX). ¤Ê¤é¤Ó¤ÎÊÔ½¸µ÷Î¥(LX,LY,Len) :- append(L0,L1,L2,LX), \+(L1 = []), append(L01,L1,L21,LY), append(L01,L21,LYR), append(L0,Len1,Len), ¤Ê¤é¤Ó¤ÎÊÔ½¸µ÷Î¥(L2,LYR,Len1). ¤Ê¤é¤Ó¤ÎÊÔ½¸µ÷Î¥(LX,LY,LZ) :- append(LX,LY,LZ). append([],L2,L3,L4) :- append(L2,L3,L4). append([U|L1],L2,L3,[U|L4]) :- append(L1,L2,L3,L4). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1296387672/27 # # [1] ¼ø¶Èñ¸µ¡§C¸À¸ì # [2] ÌäÂêʸ(´Þ¥³¡¼¥É&¥ê¥ó¥¯)¡§http://ime.nu/codepad.org/zKDn7mD5 # # # ÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉ£ÓÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉ # ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ # ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ # ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ # ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ # ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ # ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ # ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ # ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ # ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ # ÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ # ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ # ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ # ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ # ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ # ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ # ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ # ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ # ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ # ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ # ÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉ # ÊÉ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ # ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ # ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ # ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ # ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ # ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ # ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ # ÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉ # ÊÉ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ # ÊÉÊÉÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ # ÊÉ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ # ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ # ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ # ÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉÊÉÊÉÊÉÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ¡¡ÊÉ # ÊÉ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÉ¡¡ÊÉ¡¡¡¡¡¡ÊÉ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÉ # ÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉÊÉ£ÇÊÉ ÌÂϩõº÷(_ÌÂÏ©¥Õ¥¡¥¤¥ë,_·ÐÏ©) :- ÌÂÏ©¾ðÊó¤Î¼èÆÀ(_ÌÂÏ©¥Õ¥¡¥¤¥ë,_ÌÂÏ©¾ðÊó), £Ó¤Î°ÌÃÖ¤Ï(_ÌÂÏ©¾ðÊó,_¹Ô£Ó,_Îó£Ó), £Ç¤Î°ÌÃÖ¤Ï(_ÌÂÏ©¾ðÊó,_¹Ô£Ç,_Îó£Ç), ÌÂϩõº÷(_ÌÂÏ©¾ðÊó,_ÃÖ´¹¤µ¤ì¤¿ÌÂÏ©¾ðÊó,_¹Ô£Ó,_Îó£Ó,_¹Ô£Ç,_Îó£Ç,[],Log), reverse(Log,Log2), ·ÐÏ©¤ÎÀ°Íý(Log2,_·ÐÏ©). ÌÂÏ©¾ðÊó¤Î¼èÆÀ(_ÌÂÏ©¥Õ¥¡¥¤¥ë,_ÌÂÏ©¾ðÊó) :- get_chars(_ÌÂÏ©¥Õ¥¡¥¤¥ë,Chars), ²þ¹Ôʸ»ú¤Çʬ³ä(Chars,_ÌÂÏ©¾ðÊó),!. £Ó¤Î°ÌÃÖ¤Ï(LL1,_¹Ô,_Îó) :- append(L0,[L|_],LL1), length([_|L0],_¹Ô), append(L1,[£Ó|_],L), length([_|L1],_Îó),!. £Ç¤Î°ÌÃÖ¤Ï(LL1,_¹Ô,_Îó) :- append(L0,[L|_],LL1), length([_|L0],_¹Ô), append(L1,[£Ç|_],L), length([_|L1],_Îó),!. ²þ¹Ôʸ»ú¤Çʬ³ä([],[]) :- !. ²þ¹Ôʸ»ú¤Çʬ³ä(L1,[L0|R2]) :- append(L0,['\n'|R],L1),!, ²þ¹Ôʸ»ú¤Çʬ³ä(R,R2). ÌÂϩõº÷(LL1,_¹ÔG,_ÎóG,_¹ÔG,_ÎóG,Log,Log) :- !. ÌÂϩõº÷(LL1,_¹Ô,_Îó,Log1,Log) :- append(L0,[L|_],LL1), length([_|L0],_¹Ô), append(L1,[A|_],L), length([_|L1],_Îó), ¼¡¤ÎÁªÂò(LL1,_¹Ô,_Îó,Log1,_¹Ô2,_Îó2), ÌÂϩõº÷(LL1,_¹Ô2,_Îó2,_¹ÔG,_ÎóG,[[_¹Ô,_Îó,_¹Ô2,_Îó2]|Log1],Log). ¼¡¤ÎÁªÂò(LL1,_¹Ô,_Îó,Log1,_¹Ô2,_Îó) :- _¹Ô2 is _¹Ô + 1, \+(append(_,[[_¹Ô2,_Îó,_¹Ô,_Îó]|_],Log1), \+(append(_,[[_¹Ô,_Îó,_¹Ô2,_Îó]|_],Log1), append(L0,[L|_],LL1), length([_,_|L0],_¹Ô), append(L1,[A|_],L), length([_|L1],_Îó), \+(A = ÊÉ). ¼¡¤ÎÁªÂò(LL1,_¹Ô,_Îó,Log1,_¹Ô2,_Îó) :- _¹Ô2 is _¹Ô - 1, \+(append(_,[[_¹Ô2,_Îó,_¹Ô,_Îó]|_],Log1), \+(append(_,[[_¹Ô,_Îó,_¹Ô2,_Îó]|_],Log1), append(L0,[L|_],LL1), length(L0,_¹Ô), append(L1,[A|_],L), length([_|L1],_Îó), \+(A = ÊÉ). ¼¡¤ÎÁªÂò(LL1,_¹Ô,_Îó,Log1,_¹Ô2,_Îó) :- _Îó2 is _Îó + 1, \+(append(_,[[_¹Ô,_Îó2,_¹Ô,_Îó]|_],Log1), \+(append(_,[[_¹Ô,_Îó,_¹Ô,_Îó2]|_],Log1), append(L0,[L|_],LL1), length([_|L0],_¹Ô), append(L1,[A|_],L), length([_,_|L1],_Îó), \+(A = ÊÉ). ¼¡¤ÎÁªÂò(LL1,_¹Ô,_Îó,Log1,_¹Ô2,_Îó) :- _Îó2 is _Îó - 1, \+(append(_,[[_¹Ô,_Îó2,_¹Ô,_Îó]|_],Log1), \+(append(_,[[_¹Ô,_Îó,_¹Ô,_Îó2]|_],Log1), append(L0,[L|_],LL1), length([_|L0],_¹Ô), append(L1,[A|_],L), length(L1,_Îó), \+(A = ÊÉ). ·ÐÏ©¤ÎÀ°Íý([[_¹Ô1,_Îó1,_¹Ô2,_Îó2]],[[¹Ô1,_Îó1],[_¹Ô2,_Îó2]]) :- !. ·ÐÏ©¤ÎÀ°Íý([[_¹Ô1,_Îó1,_¹Ô2,_Îó2]|R1],[[¹Ô1,_Îó1]|R2]) :- !. ·ÐÏ©¤ÎÀ°Íý([R1,R2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/php/1168450843/554 # # PHP¤ÇPerl¸ß´¹¤Îpreg_replace´Ø¿ô¤ò»È¤Ã¤¿ÃÖ´¹¤ò¹Ô¤ª¤¦¤È¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢ # ¤ä¤ê¤¿¤¤¤³¤È¤¬¤¦¤Þ¤¯¼Â¸½¤Ç¤¤Þ¤»¤ó¡£ # # ¤ä¤ê¤¿¤¤¤³¤È¤Ï¡¢ # # ¡¦<tagA>¤È¤¤¤¦Ê¸»úÎó¤È</tagA>¤Î¤¢¤¤¤À¤Ë<tagInsert>¤È¤¤¤¦Ê¸»úÎó¤òÁÞÆþ¤·¤¿¤¤ # ¡¦¤¿¤À¤·¡¢<tagA>¤ÎÃæ¤Ë<tagB>¤È¤¤¤¦Ê¸»úÎ󤬤¢¤ë¾ì¹ç¤Ï¡¢¤½¤Î<tagB>¤Î²¼¤ËÁÞÆþ¤·¤¿¤¤ # # # ¡ã¼ºÇÔ¤·¤¿Àµµ¬É½¸½¡ä # $new_str = preg_replace("/<tagA(.*?)>(.*?)(<(?!tagB).)*/", '<tagA\\1>\\2<tagInsert>\\3', $str); # # ¡ã¼Â¸½¤·¤¿¤¤Îã¡ä # <tagA> # <tagB> # <tagB> # <tagC> # </tagA> # # ¢ÃÖ´¹¼Â¹Ô # <tagA> # <tagB> # <tagB> # <tagInsert> # <tagC> # </tagA> # # '
¤È¤¤¤¦Ê¸»úÎó¤È ¤Î¤¢¤¤¤À¤Ë¤È¤¤¤¦Ê¸»úÎó¤òÁÞÆþ¤·¤¿¤¤¡£¤¿¤À¤·¡¢ ¤ÎÃæ¤Ë ¤È¤¤¤¦Ê¸»úÎ󤬤¢¤ë¾ì¹ç¤Ï¡¢¤½¤Î ¤Î²¼¤ËÁÞÆþ¤¹¤ë'(Lines1,Lines2) :- append(L1,[' '|R2],[' '|_],R3), append(L1,[''|R3],Lines1), \+(append(_,[' '|_],R3)), append(_,[' '|R2],[' ',' '|R3],Line2),!. ' ¤È¤¤¤¦Ê¸»úÎó¤È ¤Î¤¢¤¤¤À¤Ë¤È¤¤¤¦Ê¸»úÎó¤òÁÞÆþ¤·¤¿¤¤¡£¤¿¤À¤·¡¢ ¤ÎÃæ¤Ë ¤È¤¤¤¦Ê¸»úÎ󤬤¢¤ë¾ì¹ç¤Ï¡¢¤½¤Î ¤Î²¼¤ËÁÞÆþ¤¹¤ë'(Lines1,Lines2) :- append(L1,[' '|R2],[' '|R3],Lines1), append(L1,['',' '|R3],Line2),!. % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/php/1168450843/506 # # ²¼µ¤Î2ʸ¤Ë¤¢¤ëfont¥¿¥°¤ò¾Ã¤·¤¿¤¤¤Ç¤¹¡£ # Àµµ¬É½¸½¤òÍѤ¤¤¿1ÅÙ¤ÎÃÖ´¹¤Ç¾Ã¤»¤Þ¤¹¤«¡© # # <dd><font style="font-size:;color:;"> ¥Æ¥¹¥È <br> ¥Æ¥¹¥È </font><br><br></dd> # <dd><font style="font-size:;color:;"> ¥Æ¥¹¥È2 <br> ¥Æ¥¹¥È2 </font><br><br></dd> # # # ¹Í¤¨Êý¤È¤·¤Æ # <dd><font style="font-size:;color:;">¤¬¤¢¤ë¹Ô¤Î¤¦¤Á</font>¤òºï½ü¤·¡¢¤½¤Î¤¢¤È<font style="font-size:;color:;">¤òºï½ü # ¤³¤ì¤Ç¹Ô¤±¤½¤¦¤«¤È»×¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢¡ü¡ü¤¬¤¢¤ë¹Ô¤Î¤¦¤Á¡û¡û¤òºï½ü¡¢¤È¤¤¤¦Àµµ¬É½¸½¤¬¤ï¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡¦¡¦¡¦ # # 'font¥¿¥°¤Î¤ßºï½ü¤¹¤ë'(_ʸ»úÎó,_font¥¿¥°¤¬ºï½ü¤µ¤ì¤¿Ê¸»úÎó) :- sub_atom(_ʸ»úÎó,_,_,_,S1,S2,S3,L1,L2,L3), append([<,f,o,n,t|R1],[>],L2), \+(append(_,[>|_],R2)), append(L3_0,[<,/,f,o,n,t,>|R3],L3), \+(append(_,[<,/,f,o,n,t,>|_],L3_0)), append(L1,L3_0,R3,L4), atom_chars(_font¥¿¥°¤¬ºï½ü¤µ¤ì¤¿Ê¸»úÎó,L4). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1291471791/972 # # [1] ¼ø¶Èñ¸µ¡§ C¸À¸ì # [2] ÌäÂêʸ(´Þ¥³¡¼¥É&¥ê¥ó¥¯)¡§ # 5Îó5¹Ô¤Î¿¼¡¸µÇÛÎó¡Ê0¤Þ¤¿¤Ï1¤¬Å¬Åö¤Ëʤ٤é¤ì¤Æ¤¤¤ë¤â¤Î¡Ë¤òÍѰդ· # 1¤¬¤¢¤ëÇÛÎó¤Î¾å²¼º¸±¦¤ÎÇÛÎó¤Î¤¦¤Á2¤Þ¤¿¤Ï3¸Ä1¤¬Â¸ºß¤¹¤ë¤Ê¤é¤½¤ÎÇÛÎó¤ò0¤ËÊѹ¹¤· # ¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï1¤Î¤Þ¤Þ¤Ë¤¹¤ë¡¡¤³¤ÎÁàºî¤ò10²ó¹Ô¤Ã¤¿ÇÛÎó¤òµá¤á¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë # ¤Þ¤¿¤³¤ÎÇÛÎó¤Ï¾å²¼º¸±¦·Ò¤¬¤Ã¤Æ¤¤¤Æ1,1¤ÎÇÛÎó¤Î¾ì¹ç¾å¤Ï1,5¡¢º¸¤Ï5.1¤Ç¤¢¤ë # % http://nojiriko.asia/prolog/c144_919.html ¤«¤é½Ò¸ì¤ò¼ÚÍѤ¹¤ë¡£ '5Îó5¹Ô¤Î¹ÔÎó¡Ê0¤Þ¤¿¤Ï1¤¬Å¬Åö¤Ëʤ٤é¤ì¤Æ¤¤¤ë¤â¤Î¡Ë¤òÍѰդ·1¤¬¤¢¤ë¥Þ¥¹¤Î¾å²¼¡¢º¸±¦¤Î¤¦¤Á2¤Þ¤¿¤Ï3¸Ä1¤¬Â¸ºß¤¹¤ë¤Ê¤é¤½¤Î¹Ô¤Þ¤¿¤ÏÎó¤ò0¤ËÊѹ¹¤·¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï1¤Î¤Þ¤Þ¤Ë¤¹¤ë¡£¤³¤ÎÁàºî¤ò10²ó¹Ô¤¦'(_¤Ê¤é¤Ó) :- '5Îó5¹Ô¤Î¹ÔÎó¡Ê0¤Þ¤¿¤Ï1¤¬Å¬Åö¤Ëʤ٤é¤ì¤Æ¤¤¤ë¤â¤Î¡Ë¤òÍѰդ·'(LL1), length(Ln,10), '1¤¬¤¢¤ë¥Þ¥¹¤Î¾å²¼¡¢º¸±¦¤Î¤¦¤Á2¤Þ¤¿¤Ï3¸Ä1¤¬Â¸ºß¤¹¤ë¤Ê¤é¤½¤Î¹Ô¤Þ¤¿¤ÏÎó¤ò0¤ËÊѹ¹¤·¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï1¤Î¤Þ¤Þ¤Ë¤¹¤ë¤³¤ÎÁàºî¤ò10²ó¹Ô¤¦'(Ln,LL1,LL2). '1¤¬¤¢¤ë¥Þ¥¹¤Î¾å²¼¡¢º¸±¦¤Î¤¦¤Á2¤Þ¤¿¤Ï3¸Ä1¤¬Â¸ºß¤¹¤ë¤Ê¤é¤½¤Î¹Ô¤Þ¤¿¤ÏÎó¤ò0¤ËÊѹ¹¤·¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï1¤Î¤Þ¤Þ¤Ë¤¹¤ë¤³¤ÎÁàºî¤ò10²ó¹Ô¤¦'([],LL,LL) :- !. '1¤¬¤¢¤ë¥Þ¥¹¤Î¾å²¼¡¢º¸±¦¤Î¤¦¤Á2¤Þ¤¿¤Ï3¸Ä1¤¬Â¸ºß¤¹¤ë¤Ê¤é¤½¤Î¹Ô¤Þ¤¿¤ÏÎó¤ò0¤ËÊѹ¹¤·¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï1¤Î¤Þ¤Þ¤Ë¤¹¤ë¤³¤ÎÁàºî¤ò10²ó¹Ô¤¦'([_|Ln],LL1,LL) :- '1¤¬¤¢¤ë¥Þ¥¹¤Î¾å²¼¡¢º¸±¦¤Î¤¦¤Á2¤Þ¤¿¤Ï3¸Ä1¤¬Â¸ºß¤¹¤ë¤Ê¤é¤½¤Î¹Ô¤Þ¤¿¤ÏÎó¤ò0¤ËÊѹ¹¤·¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï1¤Î¤Þ¤Þ¤Ë¤¹¤ë'(LL1,LL2), '1¤¬¤¢¤ë¥Þ¥¹¤Î¾å²¼¡¢º¸±¦¤Î¤¦¤Á2¤Þ¤¿¤Ï3¸Ä1¤¬Â¸ºß¤¹¤ë¤Ê¤é¤½¤Î¹Ô¤Þ¤¿¤ÏÎó¤ò0¤ËÊѹ¹¤·¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï1¤Î¤Þ¤Þ¤Ë¤¹¤ë¤³¤ÎÁàºî¤ò10²ó¹Ô¤¦'(Ln,LL2,LL). '1¤¬¤¢¤ë¥Þ¥¹¤Î¾å²¼¡¢º¸±¦¤Î¤¦¤Á2¤Þ¤¿¤Ï3¸Ä1¤¬Â¸ºß¤¹¤ë¤Ê¤é¤½¤Î¹Ô¤Þ¤¿¤ÏÎó¤ò0¤ËÊѹ¹¤·¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï1¤Î¤Þ¤Þ¤Ë¤¹¤ë'(LL1,LL2) :- length(LL2,5), findall(_¥Þ¥¹ÌܤÎÃÍ2,( length(Line,5), append(L00,[Line|_],LL2), append(L01,[_¥Þ¥¹ÌܤÎÃÍ2|_],Line), length(L00,_¹Ô¤Î°ì), length(L01,_Îó¤Î°ì), _¹Ô is _¹Ô¤Î°ì + 1, _Îó is _Îó¤Î°ì + 1, ¥Þ¥¹Ìܤμþ°Ï(LL1,_¹Ô,_Îó,_¥Þ¥¹ÌܤÎÃÍ1,_¥Þ¥¹ÌܤμþÊÕ), ¥Þ¥¹ÌܤξõÂÖ¿ÇÃÇ(_¥Þ¥¹ÌܤÎÃÍ1,_¥Þ¥¹ÌܤμþÊÕ,_¥Þ¥¹ÌܤÎÃÍ2)), LL2). '5Îó5¹Ô¤Î¹ÔÎó¡Ê0¤Þ¤¿¤Ï1¤¬Å¬Åö¤Ëʤ٤é¤ì¤Æ¤¤¤ë¤â¤Î¡Ë¤òÍѰդ·'(LL) :- length(LL,5), findall(L,( length(L,5), append(_,[A|_],L), A is random 2), LL). ¥Þ¥¹Ìܤμþ°Ï(LL,1,_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó) :- append(LL0,[L],LL), append(LL,[L],LL1), ¥Þ¥¹Ìܤμþ°Ï(LL,2,_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó),!. ¥Þ¥¹Ìܤμþ°Ï(LL,5,_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó) :- LL = [L1|R], append(R,L1,LL2), ¥Þ¥¹Ìܤμþ°Ï(LL,4,_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó),!. ¥Þ¥¹Ìܤμþ°Ï(LL,_¥Þ¥¹ÌܤιÔ,_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó) :- _¥Þ¥¹ÌÜ¤Î¹Ô >= 2, _¥Þ¥¹ÌÜ¤Î¹Ô =< 4, Nth1 is _¥Þ¥¹ÌÜ¤Î¹Ô - 2, length(L0,Nth1), append(L0,[Line1,Line2,Line3|_],LL), ¥Þ¥¹Ìܤμþ°Ï([Line1,Line2,Line3],_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó),!. ¥Þ¥¹Ìܤμþ°Ï([Line1,Line2,Line3],1,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó),!. length(L0,4), findall(L,( append(_,[Line|_],[Line1,Line2,Line3]), append(L0,L1,Line), append(L1,L0,L)), LL), ¥Þ¥¹Ìܤμþ°Ï(Line1,Line2,Line3,2,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó),!. ¥Þ¥¹Ìܤμþ°Ï([Line1,Line2,Line3],5,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó) :- length(L1,4), findall(L,( append(_,[Line|_],[Line1,Line2,Line3]), append(L0,L1,Line), append(L1,L0,L)), LL), ¥Þ¥¹Ìܤμþ°Ï(Line1,Line2,Line3,4,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó),!. ¥Þ¥¹Ìܤμþ°Ï([Line1,Line2,Line3],_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,[A2,A4,A6,A8]) :- _¥Þ¥¹ÌܤÎÎó >= 2, _¥Þ¥¹ÌܤÎÎó =< 4, Nth1 is _¥Þ¥¹ÌܤÎÎó - 2, length(L0,Nth1), findall(U,( append(_,[Line|_],[Line1,Line2,Line3]), append(L0,[A,B,C|_],Line), append(_,[U|_],[A,B,C])), L), L = [A1,A2,A3,A4,_¥Þ¥¹ÌܤÎÃÍ,A6,A7,A8,A9],!. ¥Þ¥¹ÌܤξõÂÖ¿ÇÃÇ(_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹Ìܤμþ°Ï,0) :- '1¤Î¥Þ¥¹Ìܤμþ°Ï¤Ë2¤Ä¤«3¤Ä¤Î1¤Î¥Þ¥¹Ìܤ¬¤¢¤ì¤Ð0¤ËÊѹ¹¤µ¤ì¤ë'(_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹Ìܤμþ°Ï,'0'),!. ¥Þ¥¹ÌܤξõÂÖ¿ÇÃÇ(_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹Ìܤμþ°Ï,_¥Þ¥¹ÌܤÎÃÍ). '1¤Î¥Þ¥¹Ìܤμþ°Ï¤Ë2¤Ä¤«3¤Ä¤Î1¤Î¥Þ¥¹Ìܤ¬¤¢¤ì¤Ð0¤ËÊѹ¹¤µ¤ì¤ë'(1,_¥Þ¥¹Ìܤμþ°Ï) :- count((append(_,[1|_],_¥Þ¥¹Ìܤμþ°Ï),Count), Count >= 2, Count =< 3,!. % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/php/1168450843/425 # # Jedit¤Ç # ¡Ú¤¢¤¤¤¦¡Û¤ò¡Ú6¤¢¤¤¤¦¡Û # ¡Ú¤«¤¡Û¤ò¡Ú4¤«¤¡Û # ¤Î¤è¤¦¤Ë¡Ú¡¡¡Û¤Ç¤Ï¤Ï¤µ¤Þ¤ì¤¿Ê¸»úÎó¤ÎƬ¤Ëʸ»ú¿ô¡ß2¤Î¿ôÃͤòÄɲä·¤¿¤¤¤Î¤Ç¤¹¤¬ # ¤É¤Î¤è¤¦¤Ë¸¡º÷¤·¤Æ¤É¤Î¤è¤¦¤ËÃÖ´¹¤¹¤ì¤Ð¤è¤¤¤Ç¤·¤ç¤¦¤«¡© # ¡Ú¡¡¡Û¤Ç¤Ï¤µ¤Þ¤ì¤¿Ê¸»ú¿ô¤Ï¤Þ¤Á¤Þ¤Á¤Ç¤¹¡£ # ¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£ # '¡Ú¤¢¤¤¤¦¡Û¤ò¡Ú6¤¢¤¤¤¦¡Û ¡Ú¤«¤¡Û¤ò¡Ú4¤«¤¡Û ¤Î¤è¤¦¤Ë¡Ú¡¡¡Û¤Ç¤Ï¤Ï¤µ¤Þ¤ì¤¿Ê¸»úÎó¤ÎƬ¤Ëʸ»ú¿ô¡ß2¤Î¿ôÃͤòÄɲä·¤¿¤¤¤Î¤Ç¤¹¤¬¤É¤Î¤è¤¦¤Ë¸¡º÷¤·¤Æ¤É¤Î¤è¤¦¤ËÃÖ´¹¤¹¤ì¤Ð¤è¤¤¤«'(_ʸ»úÎó,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó) :- atom_chars(_ʸ»úÎó,Chars), '¡Ú¤¢¤¤¤¦¡Û¤ò¡Ú6¤¢¤¤¤¦¡Û ¡Ú¤«¤¡Û¤ò¡Ú4¤«¤¡Û ¤Î¤è¤¦¤Ë¡Ú¡¡¡Û¤Ç¤Ï¤Ï¤µ¤Þ¤ì¤¿Ê¸»úÎó¤ÎƬ¤Ëʸ»ú¿ô¡ß2¤Î¿ôÃͤòÄɲ乤ë'(Chars,L), concat_atom(L,_ÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó). '¡Ú¤¢¤¤¤¦¡Û¤ò¡Ú6¤¢¤¤¤¦¡Û ¡Ú¤«¤¡Û¤ò¡Ú4¤«¤¡Û ¤Î¤è¤¦¤Ë¡Ú¡¡¡Û¤Ç¤Ï¤Ï¤µ¤Þ¤ì¤¿Ê¸»úÎó¤ÎƬ¤Ëʸ»ú¿ô¡ß2¤Î¿ôÃͤòÄɲ乤ë'(Chars,[S|R]) :- append(L0,['['|R1],[']'|R2],Chars), \+(append(_,['['|_],R1)), \+(append(_,[']'|_],R1)), length(R0,Len), Len2 is Len * 2, append(L0,['[',Len2|R0],[']'],L3), concat_atom(L3,S), '¡Ú¤¢¤¤¤¦¡Û¤ò¡Ú6¤¢¤¤¤¦¡Û ¡Ú¤«¤¡Û¤ò¡Ú4¤«¤¡Û ¤Î¤è¤¦¤Ë¡Ú¡¡¡Û¤Ç¤Ï¤Ï¤µ¤Þ¤ì¤¿Ê¸»úÎó¤ÎƬ¤Ëʸ»ú¿ô¡ß2¤Î¿ôÃͤòÄɲ乤ë'(R2,R). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1291471791/919 # # [1] ¼ø¶Èñ¸µ¡§¥×¥í¥°¥é¥ß¥ó¥° # [2] ÌäÂêʸ(´Þ¥³¡¼¥É&¥ê¥ó¥¯)¡§ # [1] ¼ø¶Èñ¸µ¡§¥×¥í¥°¥é¥ß¥ó¥° # [2] ÌäÂêʸ(´Þ¥³¡¼¥É&¥ê¥ó¥¯)¡§ # http://ime.nu/ideone.com/v82fx # # °Ê²¼¤Î¥Ñ¥º¥ë¤ò²ò¤¯¥×¥í¥°¥é¥à¤òºî¤ê¤Ê¤µ¤¤¡¥ # 30x30¤Î³Ê»Ò¾õ¤Î¥Þ¥¹Ìܤò¹Í¤¨¤ë¡¥³Æ¥Þ¥¹ÌܤÏON¤Þ¤¿¤ÏOFF¤Î¤É¤Á¤é¤«¤Î¾õÂÖ¤ò¤È¤ë¡¥ # ¥Ñ¥º¥ë¤ÎÌäÂê¤È¤·¤Æ30x30(¤¹¤Ê¤ï¤Á900¸Ä)¤Î¥Þ¥¹ÌܤÎON,OFF¤Î¾õÂÖ¤¬Í¿¤¨¤é¤ì¤ë¡¥ # ¤³¤Î½é´ü¾õÂÖ¤«¤é°Ê²¼¤Î¥ë¡¼¥ë¤òÍѤ¤¤Æ³Æ¥Þ¥¹ÌܤÎON,OFF¤Î¾õÂÖ¤òÊѲ½¤µ¤»¤ë¡¥ # ¥ë¡¼¥ë1: OFF¤Î¥Þ¥¹Ìܤμþ°Ï¤Ë3¤Ä¤ÎON¤Î¥Þ¥¹Ìܤ¬¤¢¤ì¤Ð¼¡¤Î¥¹¥Æ¥Ã¥×¤Ç¤ÏON¤Ë¤Ê¤ë¡¥ # ¥ë¡¼¥ë2: ON¤Î¥Þ¥¹Ìܤμþ°Ï¤Ë2¤Ä¤«3¤Ä¤ÎON¤Î¥Þ¥¹Ìܤ¬¤¢¤ì¤Ð¼¡¤Î¥¹¥Æ¥Ã¥×¤Ç¤âON¤¬°Ý»ý¤µ¤ì¤ë¡¥ # ¥ë¡¼¥ë3: ¾å°Ê³°¤Î¾ì¹ç¤Ë¤Ï¼¡¤Î¥¹¥Æ¥Ã¥×¤Ç¤ÏOFF¤Ë¤Ê¤ë¡¥ # ⤷¡¤¤³¤³¤Ç¤Î¼þ°Ï¤È¤Ï¥Þ¥¹¤ËÀܤ·¤Æ¤¤¤ë8¥Þ¥¹¤ò»Ø¤·¡¤30x30¤Î¥Þ¥¹¤Î¤¦¤Á¾åü¤È²¼Ã¼, ±¦Ã¼¤Èº¸Ã¼¤ÏÀܳ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤È¤¹¤ë¡¥ # # ¤³¤ÎÊѲ½¤ò100²ó·«¤êÂØ¤¨¤·¤¿»þ¤Î³Æ¥Þ¥¹¤Î¾õÂÖ¤òµá¤á¤è '¥Ñ¥º¥ë¤ÎÌäÂê¤È¤·¤Æ30x30(¤¹¤Ê¤ï¤Á900¸Ä)¤Î¥Þ¥¹ÌܤÎON,OFF¤Î¾õÂÖ¤¬Í¿¤¨¤é¤ì¤ë. ¤³¤Î½é´ü¾õÂÖ¤«¤é°Ê²¼¤Î¥ë¡¼¥ë¤òÍѤ¤¤Æ³Æ¥Þ¥¹ÌܤÎON,OFF¤Î¾õÂÖ¤òÊѲ½¤µ¤»¤ë¡¥'(LL1,LL2) :- length(LL2,30), findall(_¥Þ¥¹ÌܤÎÃÍ2,( length(Line,30), append(L00,[Line|_],LL2), append(L01,[_¥Þ¥¹ÌܤÎÃÍ2|_],Line), length(L00,_¹Ô¤Î°ì), length(L01,_Îó¤Î°ì), _¹Ô is _¹Ô¤Î°ì + 1, _Îó is _Îó¤Î°ì + 1, ¥Þ¥¹Ìܤμþ°Ï(LL1,_¹Ô,_Îó,_¥Þ¥¹ÌܤÎÃÍ1,_¥Þ¥¹ÌܤμþÊÕ), ¥Þ¥¹ÌܤξõÂÖ¿ÇÃÇ(_¥Þ¥¹ÌܤÎÃÍ1,_¥Þ¥¹ÌܤμþÊÕ,_¥Þ¥¹ÌܤÎÃÍ2)), LL2). ¥Þ¥¹Ìܤμþ°Ï(LL,1,_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó) :- append(LL0,[L],LL), append(LL,[L],LL1), ¥Þ¥¹Ìܤμþ°Ï(LL,2,_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó),!. ¥Þ¥¹Ìܤμþ°Ï(LL,30,_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó) :- LL = [L1|R], append(R,L1,LL2), ¥Þ¥¹Ìܤμþ°Ï(LL,29,_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó),!. ¥Þ¥¹Ìܤμþ°Ï(LL,_¥Þ¥¹ÌܤιÔ,_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó) :- _¥Þ¥¹ÌÜ¤Î¹Ô >= 2, _¥Þ¥¹ÌÜ¤Î¹Ô =< 29, Nth1 is _¥Þ¥¹ÌÜ¤Î¹Ô - 2, length(L0,Nth1), append(L0,[Line1,Line2,Line3|_],LL), ¥Þ¥¹Ìܤμþ°Ï([Line1,Line2,Line3],_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó),!. ¥Þ¥¹Ìܤμþ°Ï([Line1,Line2,Line3],1,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó),!. length(L0,29), findall(L,( append(_,[Line|_],[Line1,Line2,Line3]), append(L0,L1,Line), append(L1,L0,L)), LL), ¥Þ¥¹Ìܤμþ°Ï(Line1,Line2,Line3,2,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó),!. ¥Þ¥¹Ìܤμþ°Ï([Line1,Line2,Line3],30,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó) :- length(L1,29), findall(L,( append(_,[Line|_],[Line1,Line2,Line3]), append(L0,L1,Line), append(L1,L0,L)), LL), ¥Þ¥¹Ìܤμþ°Ï(Line1,Line2,Line3,29,_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹ÌܤμþÊդʤé¤Ó),!. ¥Þ¥¹Ìܤμþ°Ï([Line1,Line2,Line3],_¥Þ¥¹ÌܤÎÎó,_¥Þ¥¹ÌܤÎÃÍ,[A1,A2,A3,A4,A6,A7,A8,A9]) :- _¥Þ¥¹ÌܤÎÎó >= 2, _¥Þ¥¹ÌܤÎÎó =< 29, Nth1 is _¥Þ¥¹ÌܤÎÎó - 2, length(L0,Nth1), findall(U,( append(_,[Line|_],[Line1,Line2,Line3]), append(L0,[A,B,C|_],Line), append(_,[U|_],[A,B,C])), L), L = [A1,A2,A3,A4,_¥Þ¥¹ÌܤÎÃÍ,A6,A7,A8,A9],!. ¥Þ¥¹ÌܤξõÂÖ¿ÇÃÇ(_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹Ìܤμþ°Ï,'ON') :- 'OFF¤Î¥Þ¥¹Ìܤμþ°Ï¤Ë3¤Ä¤ÎON¤Î¥Þ¥¹Ìܤ¬¤¢¤ì¤Ð¼¡¤Î¥¹¥Æ¥Ã¥×¤Ç¤ÏON¤Ë¤Ê¤ë'(_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹Ìܤμþ°Ï,OFF). ¥Þ¥¹ÌܤξõÂÖ¿ÇÃÇ(_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹Ìܤμþ°Ï,'ON') :- 'ON¤Î¥Þ¥¹Ìܤμþ°Ï¤Ë2¤Ä¤«3¤Ä¤ÎON¤Î¥Þ¥¹Ìܤ¬¤¢¤ì¤Ð¼¡¤Î¥¹¥Æ¥Ã¥×¤Ç¤âON¤¬°Ý»ý¤µ¤ì¤ë'(_¥Þ¥¹ÌܤÎÃÍ,_¥Þ¥¹Ìܤμþ°Ï,'ON'),!. ¥Þ¥¹ÌܤξõÂÖ¿ÇÃÇ(_,_¥Þ¥¹Ìܤμþ°Ï,'OFF') :- ¾å°Ê³°¤Î¾ì¹ç¤Ë¤Ï¼¡¤Î¥¹¥Æ¥Ã¥×¤Ç¤ÏOFF¤Ë¤Ê¤ë. ¾å°Ê³°¤Î¾ì¹ç¤Ë¤Ï¼¡¤Î¥¹¥Æ¥Ã¥×¤Ç¤ÏOFF¤Ë¤Ê¤ë. 'OFF¤Î¥Þ¥¹Ìܤμþ°Ï¤Ë3¤Ä¤ÎON¤Î¥Þ¥¹Ìܤ¬¤¢¤ì¤Ð¼¡¤Î¥¹¥Æ¥Ã¥×¤Ç¤ÏON¤Ë¤Ê¤ë'('OFF',_¥Þ¥¹Ìܤμþ°Ï,'ON') :- count((append(_,['ON'|_],_¥Þ¥¹Ìܤμþ°Ï),2),!. 'ON¤Î¥Þ¥¹Ìܤμþ°Ï¤Ë2¤Ä¤«3¤Ä¤ÎON¤Î¥Þ¥¹Ìܤ¬¤¢¤ì¤Ð¼¡¤Î¥¹¥Æ¥Ã¥×¤Ç¤âON¤¬°Ý»ý¤µ¤ì¤ë'('ON',_¥Þ¥¹Ìܤμþ°Ï) :- count((append(_,['ON'|_],_¥Þ¥¹Ìܤμþ°Ï),Count), Count >= 2, Count =< 3,!. '¤³¤ÎÊѲ½¤ò100²ó·«¤êÂØ¤¨¤·¤¿»þ¤Î³Æ¥Þ¥¹¤Î¾õÂÖ¤òµá¤á¤è'(LL1,LL2) :- length(Ln,100), '¤³¤ÎÊѲ½¤ò100²ó·«¤êÂØ¤¨¤·¤¿»þ¤Î³Æ¥Þ¥¹¤Î¾õÂÖ¤òµá¤á¤è'(Ln,LL1,LL2). '¤³¤ÎÊѲ½¤ò100²ó·«¤êÂØ¤¨¤·¤¿»þ¤Î³Æ¥Þ¥¹¤Î¾õÂÖ¤òµá¤á¤è'([],LL,LL) :- !. '¤³¤ÎÊѲ½¤ò100²ó·«¤êÂØ¤¨¤·¤¿»þ¤Î³Æ¥Þ¥¹¤Î¾õÂÖ¤òµá¤á¤è'([_|Ln],LL1,LL2) :- '¥Ñ¥º¥ë¤ÎÌäÂê¤È¤·¤Æ30x30(¤¹¤Ê¤ï¤Á900¸Ä)¤Î¥Þ¥¹ÌܤÎON,OFF¤Î¾õÂÖ¤¬Í¿¤¨¤é¤ì¤ë. ¤³¤Î½é´ü¾õÂÖ¤«¤é°Ê²¼¤Î¥ë¡¼¥ë¤òÍѤ¤¤Æ³Æ¥Þ¥¹ÌܤÎON,OFF¤Î¾õÂÖ¤òÊѲ½¤µ¤»¤ë¡¥'(LL1,LL3), '¤³¤ÎÊѲ½¤ò100²ó·«¤êÂØ¤¨¤·¤¿»þ¤Î³Æ¥Þ¥¹¤Î¾õÂÖ¤òµá¤á¤è'(Ln,LL3,LL2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/php/1168450843/193 # # <TD width="52" height="25" bordercolor="#CCCCCC" valign="middle"> # <div align="center">F8FA</div> # </TD> # # ¤³¤ì¤Î # # ¡ÖF8FA¡×¤ÎÉôʬ¤òpreg_match_all¼èÆÀ¤·¤¿¤¤¤Î¤Ç¤¹¤¬¡¢ # '/<TD .*><div .*>(.*)</div><\/TD>/Ums' # # ¤È¤·¤¿¤Î¤Ç¤¹¤¬¡¢²¿¤â¼èÆÀ¤µ¤ì¤Þ¤»¤ó¡£ # ¤É¤Î¤è¤¦¤Ëɽµ¤¹¤ì¤ÐÎɤ¤¤Î¤Ç¤·¤ç¤¦¤«¡© # 'TD¥¿¥°¤ÎÃæ¤Îdiv¥¿¥°¤ÎÃÍ'(_ʸ»úÎó,_Á°Ê¸»úÎó,_¥¿¥°¤ÎÃÍ,_¸åʸ»úÎó) :- sPLIT(_ʸ»úÎó,['','',''|R2],[' ',' '|R4],R3). concat_atom(L03,_¥¿¥°¤ÎÃÍ), append(L01,[''|R2],L), append(L02,[''|R22],R2), append(L03,[''|R3],R22), append(L04,[''|L02],L3), append(L3,[' '],L4), concat_atom(L4,_Á°Ê¸»úÎó), concat_atom([''|R3],_¸åʸ»úÎó). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1268979408/678 # # ¡üÀµµ¬É½¸½¤Î»ÈÍѴĶ # Devas¡Ê¥Ç¥£¥ì¥¯¥È¥êÆâ¤ÎºÆµ¢¸¡º÷µÚ¤ÓÃÖ´¹¥½¥Õ¥È¤ÇGrep¸ß´¹¡Ë # # ¡ü¸¡º÷¤«ÃÖ´¹¤«¡© # ¸¡º÷¤ÈÃÖ´¹ # # ¡üÀâÌÀ # HTML¤Îa¥¿¥°¤Ëonclick°À¤òÄɲᤤޤ¿¤ÏÄɵ¤·¤¿¤¤ # # ¡üÂоݥǡ¼¥¿ # ¿ôÉ´¤ÎSmarty¥Æ¥ó¥×¥ì¡¼¥È # ¡ÊHTML¤ä¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Î¥³¡¼¥É¤ò´Þ¤àʸ»úÎó¡Ë # ñ½ã¤Ë<a href¤Ç»Ï¤Þ¤ë¤â¤Î¤Ð¤«¤ê¤Ç¤Ï¤Ê¤¯¡¤<a classÅù¤Ç»Ï¤Þ¤ë¤â¤Î¤â¤¢¤ë # # ¡ü´õ˾¤¹¤ë·ë²Ì # html¤Îa¥¿¥°¤«¤é # href="xxxxx-regist"¤ò´Þ¤ó¤Ç¤ª¤ê¡¤ # ¤«¤Äonclick="xxx"´Þ¤ó¤Ç¤¤¤ë¡¡¤Þ¤¿¤Ï¡¡´Þ¤ó¤Ç¤¤¤Ê¤¤¤â¤Î¤ò¸¡º÷¡¤ÃÖ´¹¤· # onclick¤Ë¥¢¥¯¥·¥ç¥ó¤òÄɲäޤ¿¤ÏÄɵ # # <a href="xxx-regist" onclick="Äɲäޤ¿¤ÏÄɵ¤·¤¿¤¤"> # # # # Âоݥڡ¼¥¸¤¬¿ôÉ´¤â¤¢¤ê¡¤¤È¤Æ¤â¼êºî¶È¤Ç½¤Àµ¤Ç¤¤Ê¤¤¤¿¤áÀµµ¬É½¸½¤ÎÎϤò¼Ú¤ê¤¿¤¤¤Ç¤¹ # a¥¿¥°¤Ï¤¹¤°¤Ëhref¤Ç»Ï¤Þ¤ë¤â¤Î¤Ð¤«¤ê¤Ç¤Ï¤Ê¤¤¤¿¤á¡¤°Ê²¼¤Î¤è¤¦¤ÊÀµµ¬É½¸½¤ò¹Í¤¨¤¿¤Î¤Ç¤¹¤¬¡¤ # ¤Ê¤¼¤«Ê£¿ô¹Ô¤ËÅϤäƤ·¤Þ¤¦·ë²Ì¤¬Ãê½Ð¤µ¤ì¤¿¤ê¤È¤¦¤Þ¤¯¤¤¤¤Þ¤»¤ó # # href=".+\-regist".+?(onclick="(.+)")?.+?\n # # # ¤´¶µ¼ø¤¤¤¿¤À¤±¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡¦¡¦ # # ¿ôÉ´¤ÎSmarty¥Æ¥ó¥×¥ì¡¼¥È¤Îonclick¥¿¥°¤òÄɲäޤ¿¤ÏÊѹ¹¤¹¤ë(_¥Õ¥¡¥¤¥ë̾¤Ê¤é¤Ó) :- append(_,[_¥Õ¥¡¥¤¥ë|R],_¥Õ¥¡¥¤¥ë̾¤Ê¤é¤Ó), 'html¤Îa¥¿¥°¤«¤éhref="xxxxx-regist"¤ò´Þ¤ó¤Ç¤ª¤ê¡¤¤«¤Äonclick="xxx"´Þ¤ó¤Ç¤¤¤ë¡£¤Þ¤¿¤Ï´Þ¤ó¤Ç¤¤¤Ê¤¤¤â¤Î¤ò¸¡º÷¡¤ÃÖ´¹¤·onclick¤Ë¥¢¥¯¥·¥ç¥ó¤òÄɲäޤ¿¤ÏÄɵ'(_¥Õ¥¡¥¤¥ë), R = [],!. 'html¤Îa¥¿¥°¤«¤éhref="xxxxx-regist"¤ò´Þ¤ó¤Ç¤ª¤ê¡¤¤«¤Äonclick="xxx"´Þ¤ó¤Ç¤¤¤ë¡£¤Þ¤¿¤Ï´Þ¤ó¤Ç¤¤¤Ê¤¤¤â¤Î¤ò¸¡º÷¡¤ÃÖ´¹¤·onclick¤Ë¥¢¥¯¥·¥ç¥ó¤òÄɲäޤ¿¤ÏÄɵ'(_¥Õ¥¡¥¤¥ë) :- get_chars(_¥Õ¥¡¥¤¥ë,Chars), 'onclick¤Ë¥¢¥¯¥·¥ç¥ó¤òÄɲäޤ¿¤ÏÄɵ'(Chars),!. 'onclick¤Ë¥¢¥¯¥·¥ç¥ó¤òÄɲäޤ¿¤ÏÄɵ'(Chars) :- 'a¥¿¥°¤òÁªÊÌ'(Chars,L0,R1,R2,_Atag), 'onclickÍ×ÁǸõÊä'(_Atag,_onclickÍ×ÁǸõÊä), 'onclick¶ç¤ÎÀ¸À®'(_onclickÍ×ÁǸõÊä,_onclick¶ç), put_chars(L0), '¸½ºß¤Îonclick¶ç¤Îºï½ü'(R1,R11), append(R11,_onclick¶ç,R12), put_chars(['<',a,' '|R12]), put_chars(['<','/',a,'>']), 'onclick¤Ë¥¢¥¯¥·¥ç¥ó¤òÄɲäޤ¿¤ÏÄɵ'(R2). 'a¥¿¥°¤òÁªÊÌ'(Chars,L0,R1,R2,_Atag) :- append(L0,['<',a,' '|R1],['<','/',a,'>'|R2],Chars), \+(append(_,['<','a',' '|_],R1)), \+(append(_,['<','/',a,'>'|_],R1)), _Atag = ['<',a',' '|R1]. 'onclickÍ×ÁǸõÊä'(_Atag,_onclickÍ×ÁǸõÊä) :- append(L0,[h,r,e,f,'=','"'|_onclickÍ×ÁǸõÊä],['-',r,e,g,i,s,t,'"'|R2],_Atag),!. 'onclick¶ç¤ÎÀ¸À®'(_onclickÍ×ÁǸõÊä,_onclick¶ç) :- append([' ',o,n,c,l,i,c,k,'=','"'|_onclickÍ×ÁǸõÊä],['"',' '],_onclick¶ç). '¸½ºß¤Îonclick¶ç¤Îºï½ü'([],[]) :- !. '¸½ºß¤Îonclick¶ç¤Îºï½ü'([' ',o,n,c,l,i,c,k,'=','"'|R1],[' '|R2]) :- append(_,['"',' '|R2],R1),!. '¸½ºß¤Îonclick¶ç¤Îºï½ü'([A|R1],[A|R2]) :- '¸½ºß¤Îonclick¶ç¤Îºï½ü'(R1,R2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1286978599/151 # # ¼¡¤Î¤è¤¦¤Ê½ÉÂ꤬½Ð¤¿¤Î¤Ç¤¹¤¬¡¢¤Þ¤Ã¤¿¤¯Ê¬¤«¤ê¤Þ¤»¤ó¡£ # ¤¼¤Ò¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£¤ª´ê¤¤¤·¤Þ¤¹¡£ # # • void concat(struct node *p, struct node *q) # ¥Î¡¼¥É*p°Ê¹ß¤Î¥ê¥¹¥È¤Î¸å¤Ë¡¤¥Î¡¼¥É*q°Ê¹ß¤Î¥ê¥¹¥È¤òÏ¢·ë # ¤¹¤ë´Ø¿ô # # • int length(struct node *p) # ¥Î¡¼¥É*p°Ê¹ß¤Î¥ê¥¹¥È¤ÎŤµ¤òÊÖ¤¹´Ø¿ô # # '¥Î¡¼¥É*p°Ê¹ß¤Î¥ê¥¹¥È¤Î¸å¤Ë¡¤¥Î¡¼¥É*q°Ê¹ß¤Î¥ê¥¹¥È¤òÏ¢·ë'(L1,_¥Î¡¼¥Ép°Ê¹ß¤Î¤Ê¤é¤Ó,L2,_¥Î¡¼¥Éq°Ê¹ß¤Î¤Ê¤é¤Ó,L) :- append(_,_¥Î¡¼¥Ép°Ê¹ß¤Î¤Ê¤é¤Ó,L1), append(_,_¥Î¡¼¥Éq°Ê¹ß¤Î¤Ê¤é¤Ó,L2), append(_¥Î¡¼¥Ép°Ê¹ß¤Î¤Ê¤é¤Ó,_¥Î¡¼¥Éq°Ê¹ß¤Î¤Ê¤é¤Ó,L). '¥Î¡¼¥É*p°Ê¹ß¤Î¥ê¥¹¥È¤ÎŤµ¤òÊÖ¤¹´Ø¿ô'(L,_¥Î¡¼¥Ép°Ê¹ß¤Î¤Ê¤é¤Ó,Length) :- append(_,_¥Î¡¼¥Ép°Ê¹ß¤Î¤Ê¤é¤Ó,L), \+(var(_¥Î¡¼¥Ép°Ê¹ß¤Î¤Ê¤é¤Ó)), length(_¥Î¡¼¥Ép°Ê¹ß¤Î¤Ê¤é¤Ó,Length). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://hibari.2ch.net/test/read.cgi/tech/1286978599/22 # # ¸ýƬ¤ÇÀâÌÀ¤µ¤ì¤¿¤â¤Î¤ò½ñ¤¯¤Î¤Çʬ¤«¤ê¤Å¤é¤«¤Ã¤¿¤é¤´¤á¤ó¤Ê¤µ¤¤ # ¡Ú¼ÁÌ䥯¥ó¥×¥ì¡Û # [1] ¼ø¶Èñ¸µ¡§¥×¥í¥°¥é¥ß¥ó¥°¶ # [2] ÌäÂêʸ(´Þ¥³¡¼¥É&¥ê¥ó¥¯)¡§ # 5¼ïÎà¤ÎÄ̲ß(a,b,c,d,e)¤¬Â¸ºß¤¹¤ë # ºÇ½é¤Ë´ö¤é¤«¤Î¤ª¶â¤òÅϤµ¤ì¤ë¤½¤Î¤ª¶â¤Ïa,b,c,d,e°Ê³°¤Ë¤â # a¤È¤·¤Æ¤âb¤È¤·¤Æ¤â»È¤¨¤ë¤â¤Îb¤È¤·¤Æ¤âd¤È¤·¤Æ¤â»È¤¨¤ë¤â¤Î¤Ê¤É¤¬¤¢¤ë # ¤½¤Î¤ª¶â¤ò»ý¤Ã¤Æ¾¦ÉʤòÇ㤦¤¬¾¦ÉÊ¤Ë¤ÏÆÃÄê¤ÎÄ̲ߤ·¤«»È¤¨¤Ê¤¤ # ¤¿¤À¤·¡¢a,b¤É¤Á¤é¤Ç¤âʧ¤¨¤ë¾¦Éʤäb,d¤É¤Á¤é¤Ç¤âʧ¤¨¤ë¾¦Éʤ⤢¤ë # ¤½¤ì¤é¤Î¾¦Éʤιç·×¤¬ÅϤµ¤ì¤ë¤Î¤Ç¥½¥ì¤ò¼ê»ý¤Á¤Î¤ª¶â¤ÇÊѤ¨¤ë¤«¤É¤¦¤«¤òÅú¤¨¤è # ¹ç·×¤ÏÇÛÎóp[15]¤È¤·¤Æ¼½ñ½ç¤ÇÍ¿¤¨¤é¤ì¤ë(Î㤨¤Ða¤Çʧ¤¨¤ë¤â¤Îp[0]b¤Èc¤Çʧ¤¨¤ë¤â¤Î¤Ïp[7]) # ex)p={3,2,0,0,0,0,2,0,0,0,0,0,0,0,0} # ¤À¤Èa=3,ab=2,bc=2¤Ê¤Î¤Ç # ¼ê»ý¤Á¤¬{5,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0} # a=5,b=2¤Ê¤é¤Ï¤é¤¨¤ë # ¾¦Éʤιç·×¤¬ÅϤµ¤ì¤ë¤Î¤Ç¥½¥ì¤ò¼ê»ý¤Á¤Î¤ª¶â¤ÇÊѤ¨¤ë¤«¤É¤¦¤«(_¾¦Éʤιç·×¤Î¤Ê¤é¤Ó,_¼ê»ý¤Á¤Î¤ª¶â¤Ê¤é¤Ó) :- ÍøÍѲÄǽ¤Ê¤é¤Ó¤Î·Á¼°(_ÍøÍѲÄǽ¤Ê¤é¤Ó¤Î·Á¼°), ¿ôÃÍɽ¸½¤ò¤Ê¤é¤Óɽ¸½¤ËÊÑ´¹(_¾¦Éʤιç·×¤Ê¤é¤Ó,LA), ¿ôÃÍɽ¸½¤ò¤Ê¤é¤Óɽ¸½¤ËÊÑ´¹(_¼ê»ý¤Á¤Î¤ª¶â¤Ê¤é¤Ó,LB), ¾¦Éʤιç·×¤¬ÅϤµ¤ì¤ë¤Î¤Ç¥½¥ì¤ò¼ê»ý¤Á¤Î¤ª¶â¤ÇÊѤ¨¤ë¤«¤É¤¦¤«(_ÍøÍѲÄǽ¤Ê¤é¤Ó¤Î·Á¼°,LA,LB). ¾¦Éʤιç·×¤¬ÅϤµ¤ì¤ë¤Î¤Ç¥½¥ì¤ò¼ê»ý¤Á¤Î¤ª¶â¤ÇÊѤ¨¤ë¤«¤É¤¦¤«([],[],_). ¾¦Éʤιç·×¤¬ÅϤµ¤ì¤ë¤Î¤Ç¥½¥ì¤ò¼ê»ý¤Á¤Î¤ª¶â¤ÇÊѤ¨¤ë¤«¤É¤¦¤«([_|R1],[[]|R2],K1) :- ¾¦Éʤιç·×¤¬ÅϤµ¤ì¤ë¤Î¤Ç¥½¥ì¤ò¼ê»ý¤Á¤Î¤ª¶â¤ÇÊѤ¨¤ë¤«¤É¤¦¤«(R1,R2,K1). ¾¦Éʤιç·×¤¬ÅϤµ¤ì¤ë¤Î¤Ç¥½¥ì¤ò¼ê»ý¤Á¤Î¤ª¶â¤ÇÊѤ¨¤ë¤«¤É¤¦¤«([[_Âè°ì¸õÊä,_ÂèÆó¸õÊä]|R1],[_¾¦Éʤιç·×|R2],_µò½ÐÁ°¤Î¼ê»ý¤Á¤Î¤ª¶â) :- ¤Ê¤é¤Óɽ¸½¤Ë¤è¤ëÍ×ÁǰÌÃÖ»ØÄê¤Ë¤è¤ë¡¢¤Ê¤é¤Ó¤«¤é¤ÎÃͤμèÆÀ(_Âè°ì¸õÊä,_µò½ÐÁ°¤Î¼ê»ý¤Á¤Î¤ª¶â,_Âè°ì¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â), ¤Ê¤é¤Óɽ¸½¤Ë¤è¤ëÍ×ÁǰÌÃÖ»ØÄê¤Ë¤è¤ë¡¢¤Ê¤é¤Ó¤«¤é¤ÎÃͤμèÆÀ(_ÂèÆó¸õÊä,_µò½ÐÁ°¤Î¼ê»ý¤Á¤Î¤ª¶â,_ÂèÆó¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â), append(_Âè°ì¸õÊ䤫¤é¤Îµò½Ð¶â,_ÂèÆó¸õÊ䤫¤é¤Îµò½Ð¶â,_¾¦Éʤιç·×), append(_Âè°ì¸õÊ䤫¤é¤Îµò½Ð¶â,_Âè°ì¸õÊä¤Î»Ä¤ê¤Î¼ê»ý¤Á¤Î¤ª¶â,_Âè°ì¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â), append(_ÂèÆó¸õÊ䤫¤é¤Îµò½Ð¶â,_ÂèÆó¸õÊä¤Î»Ä¤ê¤Î¼ê»ý¤Á¤Î¤ª¶â,_ÂèÆó¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â), ¼ê»ý¤Á¶â¤«¤éÍøÍÑʬ¤òº¹¤·°ú¤¯([_],_Âè°ì¸õÊä,_Âè°ì¸õÊä¤Î»Ä¤ê¤Î¼ê»ý¤Á¤Î¤ª¶â,_ÂèÆó¸õÊä,_ÂèÆó¸õÊä¤Î»Ä¤ê¤Î¼ê»ý¤Á¤Î¤ª¶â,_µò½ÐÁ°¤Î¼ê»ý¤Á¤Î¤ª¶â,_µò½Ð¸å¤Î¼ê»ý¤Á¤Î¤ª¶â), ¾¦Éʤιç·×¤¬ÅϤµ¤ì¤ë¤Î¤Ç¥½¥ì¤ò¼ê»ý¤Á¤Î¤ª¶â¤ÇÊѤ¨¤ë¤«¤É¤¦¤«(R1,R2,_µò½Ð¸å¤Î¼ê»ý¤Á¤Î¤ª¶â). ¼ê»ý¤Á¶â¤«¤éÍøÍÑʬ¤òº¹¤·°ú¤¯(_,_,_,_,_,[],[]). ¼ê»ý¤Á¶â¤«¤éÍøÍÑʬ¤òº¹¤·°ú¤¯(L,_,_,L,_ÂèÆó¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â,[_|R1],[_ÂèÆó¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â|R1]) :- !. ¼ê»ý¤Á¶â¤«¤éÍøÍÑʬ¤òº¹¤·°ú¤¯(L,L,_Âè°ì¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â,_ÂèÆó¸õÊä,_ÂèÆó¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â,[_|R1],[_Âè°ì¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â|R2]) :- ¼ê»ý¤Á¶â¤«¤éÍøÍÑʬ¤òº¹¤·°ú¤¯([_|L],L,_Âè°ì¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â,_ÂèÆó¸õÊä,_ÂèÆó¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â,R1,R2). ¼ê»ý¤Á¶â¤«¤éÍøÍÑʬ¤òº¹¤·°ú¤¯(L,_Âè°ì¸õÊä,_Âè°ì¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â,_ÂèÆó¸õÊä,ÂèÆó¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â,[U|R1],[U|R2]) :- ¼ê»ý¤Á¶â¤«¤éÍøÍÑʬ¤òº¹¤·°ú¤¯([_|L],_Âè°ì¸õÊä,_Âè°ì¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â,_ÂèÆó¸õÊä,ÂèÆó¸õÊä¤Î¼ê»ý¤Á¤Î¤ª¶â,R1,R2). ÍøÍѲÄǽ¤Ê¤é¤Ó¤Î·Á¼°(_ÍøÍѲÄǽ¤Ê¤é¤Ó¤Î·Á¼°) :- findall(U,ÁȤ߹ç¤ï¤»([1,2,3,4,5,0],2,U),L1), sort(L1,L2), ¿ôÃÍɽ¸½¤ò¤Ê¤é¤Óɽ¸½¤ËÊÑ´¹(L2,_ÍøÍѲÄǽ¤Ê¤é¤Ó¤Î·Á¼°). ¿ôÃÍɽ¸½¤ò¤Ê¤é¤Óɽ¸½¤ËÊÑ´¹([],[]) :- !. ¿ôÃÍɽ¸½¤ò¤Ê¤é¤Óɽ¸½¤ËÊÑ´¹([L|R1],[L2|R2]) :- list(L), ¿ôÃÍɽ¸½¤ò¤Ê¤é¤Óɽ¸½¤ËÊÑ´¹(L,L2), ¿ôÃÍɽ¸½¤ò¤Ê¤é¤Óɽ¸½¤ËÊÑ´¹(R1,R2),!. ¿ôÃÍɽ¸½¤ò¤Ê¤é¤Óɽ¸½¤ËÊÑ´¹([N|R1],[L2|R2]) :- length(L2,N), ¿ôÃÍɽ¸½¤ò¤Ê¤é¤Óɽ¸½¤ËÊÑ´¹(R1,R2). ¤Ê¤é¤Óɽ¸½¤Ë¤è¤ëÍ×ÁǰÌÃÖ»ØÄê¤Ë¤è¤ë¡¢¤Ê¤é¤Ó¤«¤é¤ÎÃͤμèÆÀ(_¤Ê¤é¤Óɽ¸½¤Ë¤è¤ëÍ×ÁǰÌÃÖ,_¤Ê¤é¤Ó,_ÃÍ) :- append(L0,[_],_¤Ê¤é¤Óɽ¸½¤Ë¤è¤ëÍ×ÁǰÌÃÖ), append(L0,[_ÃÍ|_],_¤Ê¤é¤Ó),!. % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://pc12.2ch.net/test/read.cgi/tech/1276810079/135 # # ÇÛÎóa[n]¡¤ÇÛÎób[n] ¤ÈÇÛÎó¤ÎÂ礤µn ¤òÅϤ¹¤ÈÇÛÎó¤Î # Í×ÁǤòÆþ¤ì´¹¤¨¤ë¥×¥í¥°¥é¥à¤ò¥Ý¥¤¥ó¥¿¤òÍѤ¤¤ÆºîÀ®¤»¤è¡¥ # Î㤨¤Ð¡¤a[3]={1,2,3}¡¤b[3]={101,102,103}¤È¤¹¤ë¤È # ¤¡¤·ë²Ì¤È¤·¤Æ¡¤a[3]={101,102,103}¡¤b[3]={1,2,3}¤È # ¤Ê¤ë¤è¤¦¤Ë¤»¤è¡¥ # # ¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡ª # # Æó¤Ä¤Î¥ê¥¹¥È¤ÎºÇ½é¤ÎNÍ×ÁǤÀ¤±Æþ¤ìÂØ¤¨¤ë(L1_1,L2_1,N,L1_2,L2_2) :- length(L1_0,N), length(L2_0,N), append(L1_0,R1,L1), append(L2_0,R2,L2), append(L2_0,R1,L3), append(L1_0,R2,L4),!. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Æó¤Ä¤Î¥ê¥¹¥È¤ÎºÇ½é¤ÎNÍ×ÁǤÀ¤±Æþ¤ìÂØ¤¨¤ë(L1_1,L2_1,N,L1_2,L2_2) :- integer(N), length(LN,N), Æó¤Ä¤Î¥ê¥¹¥È¤ÎºÇ½é¤ÎNÍ×ÁǤÀ¤±Æþ¤ìÂØ¤¨¤ë(L1_1,L2_1,LN,L1_2,L2_2). Æó¤Ä¤Î¥ê¥¹¥È¤ÎºÇ½é¤ÎNÍ×ÁǤÀ¤±Æþ¤ìÂØ¤¨¤ë(R1,R2,[],R1,R2). Æó¤Ä¤Î¥ê¥¹¥È¤ÎºÇ½é¤ÎNÍ×ÁǤÀ¤±Æþ¤ìÂØ¤¨¤ë([A|R1_1],[B|R2_1],[_|R],[B|R1_2],[A|R2_2]) :- Æó¤Ä¤Î¥ê¥¹¥È¤ÎºÇ½é¤ÎNÍ×ÁǤÀ¤±Æþ¤ìÂØ¤¨¤ë(R1_1,R2_1,R,R1_2,R2_2). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Æó¤Ä¤Î¥ê¥¹¥È¤ÎºÇ½é¤ÎNÍ×ÁǤÀ¤±Æþ¤ìÂØ¤¨¤ë(R1,R2,0,R1,R2). Æó¤Ä¤Î¥ê¥¹¥È¤ÎºÇ½é¤ÎNÍ×ÁǤÀ¤±Æþ¤ìÂØ¤¨¤ë([A|R1_1],[B|R2_1],N,[B|R1_2],[A|R2_2]) :- N1 is N - 1, Æó¤Ä¤Î¥ê¥¹¥È¤ÎºÇ½é¤ÎNÍ×ÁǤÀ¤±Æþ¤ìÂØ¤¨¤ë(R1_1,R2_1,N1,R1_2,R2_2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://pc12.2ch.net/test/read.cgi/tech/1255277760/128 # # ¡ÚÌäÂ꣱¡§»þ·×¡Û # ¸½ºß»þ¹ï¤ò¥¢¥¹¥¡¼¥¢¡¼¥È¤Çɽ¼¨¤»¤è # # ¡Úɽ¼¨Îã¡Û # ¡ü¡ü¡û¡û¡û¡ü¡û¡û¡û¡û¡û¡û¡ü¡û¡ü¡û¡û¡ü¡ü # ¡û¡û¡ü¡û¡ü¡û¡ü¡û¡û¡ü¡û¡û¡ü¡û¡ü¡û¡ü¡û¡û # ¡û¡ü¡ü¡û¡ü¡û¡ü¡û¡û¡û¡û¡û¡ü¡ü¡ü¡û¡ü¡ü¡ü # ¡ü¡û¡û¡û¡ü¡û¡ü¡û¡û¡ü¡û¡û¡û¡û¡ü¡û¡ü¡û¡ü # ¡ü¡ü¡ü¡û¡û¡ü¡û¡û¡û¡û¡û¡û¡û¡û¡ü¡û¡ü¡ü¡ü # # ¡ÚÆñ°×ÅÙ¡Û # 40ʬ¤Ç½éµé # # # ¸½ºß»þ¹ï¤ò¥¢¥¹¥¡¼¥¢¡¼¥È¤Çɽ¼¨(_»þ:_ʬ) :- ¡¡¡¡¡¡_»þ_1 is _»þ // 10, ¡¡¡¡¡¡_»þ_2 is _»þ mod 10, ¡¡¡¡¡¡_ʬ_1 is _ʬ // 10, ¡¡¡¡¡¡_ʬ_2 is _ʬ mod 10, ¡¡¡¡¡¡¸½ºß»þ¹ï¤ò¥¢¥¹¥¡¼¥¢¡¼¥È¤Çɽ¼¨(_»þ_1,_»þ_2,_ʬ_1,_ʬ2). ¸½ºß»þ¹ï¤ò¥¢¥¹¥¡¼¥¢¡¼¥È¤Çɽ¼¨(_»þ_1,_»þ_2,_ʬ_1,_ʬ2) :- ¡¡¡¡¡¡¿ô»ú¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(_»þ_1,L1), ¡¡¡¡¡¡¿ô»ú¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(_»þ_2,L2), ¡¡¡¡¡¡¿ô»ú¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(_ʬ_1,L3), ¡¡¡¡¡¡¿ô»ú¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(_ʬ_2,L4), ¡¡¡¡¡¡±Ñµ¹æ¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(';',L5), ¡¡¡¡¡¡L0 = [[¡û],[¡û],[¡û],[¡û],[¡û]], ¡¡¡¡¡¡Æ±°ì¹Ô¿ô¤Î¹ÔÎó¤Îappend(L1,L0,L2,LA), ¡¡¡¡¡¡Æ±°ì¹Ô¿ô¤Î¹ÔÎó¤Îappend(LA,L0,L5,LB), ¡¡¡¡¡¡Æ±°ì¹Ô¿ô¤Î¹ÔÎó¤Îappend(LB,L0,L3,LC), ¡¡¡¡¡¡Æ±°ì¹Ô¿ô¤Î¹ÔÎó¤Îappend(LC,L0,L4,LX), ¡¡¡¡¡¡¥¢¥¹¥¡¼¥¢¡¼¥È¤Çɽ¼¨(LX). ¥¢¥¹¥¡¼¥¢¡¼¥È¤Çɽ¼¨([]). ¥¢¥¹¥¡¼¥¢¡¼¥È¤Çɽ¼¨([L|R]) :- concat_atom(L,S),write_formatted('%t\n',[S]),¥¢¥¹¥¡¼¥¢¡¼¥È¤Çɽ¼¨(R). 'Ʊ°ì¹Ô¿ô¤Î¹ÔÎó¤Îappend'([],[],[],[]). 'Ʊ°ì¹Ô¿ô¤Î¹ÔÎó¤Îappend'([L1|R1],[L2|R2],[L3|R3],[L4|R4]) :- ¡¡¡¡append(L1,L2,L3,L4), ¡¡¡¡'Ʊ°ì¹Ô¿ô¤Î¹ÔÎó¤Îappend'(R1,R2,R3,R4) . ¿ô»ú¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(0,[[¡û,¡ü,¡û],[¡ü,¡û,¡ü],[¡ü,¡û,¡ü],[¡ü,¡û,¡ü],[¡û,¡ü,¡û]]). ¿ô»ú¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(1,[[¡ü,¡ü,¡û],[¡û,¡ü,¡û],[¡û,¡ü,¡û],[¡û,¡ü,¡û],[¡û,¡ü,¡û]]). ¿ô»ú¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(2,[[¡ü,¡ü,¡ü],[¡û,¡û,¡ü],[¡ü,¡ü,¡ü],[¡ü,¡û,¡û],[¡ü,¡ü,¡ü]]). ¿ô»ú¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(3,[[¡ü,¡ü,¡ü],[¡û,¡û,¡ü],[¡ü,¡ü,¡ü],[¡û,¡û,¡ü],[¡ü,¡ü,¡ü]]). ¿ô»ú¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(4,[[¡û,¡û,¡ü],[¡ü,¡û,¡ü],[¡ü,¡ü,¡ü],[¡û,¡û,¡ü],[¡û,¡û,¡ü]]). ¿ô»ú¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(5,[[¡ü,¡ü,¡ü],[¡ü,¡û,¡û],[¡ü,¡ü,¡ü],[¡û,¡û,¡ü],[¡ü,¡ü,¡ü]]). ¿ô»ú¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(6,[[¡û,¡ü,¡ü],[¡ü,¡û,¡û],[¡ü,¡ü,¡ü],[¡ü,¡û,¡ü],[¡ü,¡ü,¡ü]]). ¿ô»ú¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(7,[[¡ü,¡ü,¡ü],[¡ü,¡û,¡ü],[¡û,¡û,¡ü],[¡û,¡ü,¡û],[¡û,¡ü,¡û]]). ¿ô»ú¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(8,[[¡û,¡ü,¡û],[¡ü,¡û,¡ü],[¡û,¡ü,¡û],[¡ü,¡û,¡ü],[¡û,¡ü,¡û]]). ¿ôµ¹æ¤Î¥¢¥¹¥¡¼¥¢¡¼¥È(':',[[¡û,¡û,¡û],[¡û,¡ü,¡û],[¡û,¡û,¡û],[¡û,¡ü,¡û],[¡û,¡û,¡û]]). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://pc11.2ch.net/test/read.cgi/db/1252492296/321 # # # ¥¹¥³¥¢¥é¥ó¥¥ó¥°¤Ç¡¢¼«Ê¬¤Î¾å²¼4¿Í¤ò´Þ¤á¤¿9¿Íʬ¤Î¾ðÊó¤ò¼è¤Ã¤Æ¤¤¿¤¤¤Î¤Ç¤¹¤¬¡¢¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ð¤è¤¤¤Ç¤·¤ç¤¦¤«¡© # ¡Ê¼«Ê¬¤¬1°Ì¤Ê¤É¤Î¾ì¹ç¤Ï¼«Ê¬¤È²¼°Ì8¿Íʬ¤ò¼èÆÀ¤·¤Þ¤¹¡Ë # ¥¹¥³¥¢¥é¥ó¥¥ó¥°¤Ç¡¢¼«Ê¬¤Î¾å²¼4¿Í¤ò´Þ¤á¤¿9¿Íʬ¤Î¾ðÊó¤ò¼è¤ë(_¼«Ê¬,L) :- ¡¡¡¡findall([_¥¹¥³¥¢,_»á̾],¥¹¥³¥¢(_»á̾,_¥¹¥³¥¢),L1), ¡¡¡¡sort(L1,L2), ¡¡¡¡reverse(L2,L3), ¡¡¡¡append(L11,[[_¥¹¥³¥¢,_»á̾]|L12],L3), ¡¡¡¡¼«Ê¬¤ÎºÇÎɤÎÀʤò¼è¤ë(L11,[_¥¹¥³¥¢,_¼«Ê¬],L12,L). ¼«Ê¬¤ÎºÇÎɤÎÀʤò¼è¤ë(L11,[_¥¹¥³¥¢,_¼«Ê¬],L12,L) :- ¡¡¡¡length(L12,Len2),Len2 =< 4, ¡¡¡¡Len1 is 9 - Len2 - 1,length(L1,Len1), ¡¡¡¡append(_,L1,L11), ¡¡¡¡append(L1,[[_¥¹¥³¥¢,¼«Ê¬]|,L12],L),!. ¼«Ê¬¤ÎºÇÎɤÎÀʤò¼è¤ë(L11,[_¥¹¥³¥¢,_¼«Ê¬],L12,L) :- ¡¡¡¡length(L11,Len1),Len1 =< 4, ¡¡¡¡Len2 is 9 - Len1 - 1,length(L2,Len2), ¡¡¡¡append(Len2,_,L12), ¡¡¡¡append(L11,[[_¥¹¥³¥¢,_¼«Ê¬]|L2],L),!. ¼«Ê¬¤ÎºÇÎɤÎÀʤò¼è¤ë(L11,[_¥¹¥³¥¢,_¼«Ê¬],L12,L) :- ¡¡¡¡length(L1,4),length(L2,4), ¡¡¡¡append(_,L1,L11), ¡¡¡¡append(L2,_,L12), ¡¡¡¡append(L1,[[_¥¹¥³¥¢,_¼«Ê¬]|L2],L),!. ¼«Ê¬¤ÎºÇÎɤÎÀʤò¼è¤ë(L11,[_¥¹¥³¥¢,_¼«Ê¬],L12,L) :- append(L11,[[_¥¹¥³¥¢,_¼«Ê¬]|L12],L). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://pc12.2ch.net/test/read.cgi/tech/1255709298/725 # # [1] ¼ø¶Èñ¸µ¡§ ¥¢¥ë¥´¥ê¥º¥à[I] # [2] ÌäÂêʸ(´Þ¥³¡¼¥É&¥ê¥ó¥¯)¡§a,b,c,d,e¤Î5ʸ»ú¤ò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤È¤·¤Æ # ¡¡½ÅÊ£¤Ê¤¯4ʸ»ú¤ò¤Ç¹½À®¤µ¤ì¤ëÁ´¤Æ¤Îword¤Î¤Ê¤«¤ÇÉôʬʸ»úÎó¤È¤·¤Æ¡¢ # ¡¡ad,bd,de¤ò´Þ¤Þ¤Ê¤¤¤â¤Î¤òɽ¼¨¤»¤è 'a,b,c,d,e¤Î5ʸ»ú¤ò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤È¤·¤Æ½ÅÊ£¤Ê¤¯4ʸ»ú¤Ç¹½À®¤µ¤ì¤ëÁ´¤Æ¤Îword¤Î¤Ê¤«¤ÇÉôʬʸ»úÎó¤È¤·¤Æ¡¢ad,bd,de¤ò´Þ¤Þ¤Ê¤¤¤â¤Î¤òɽ¼¨' :- ½çÎó([a,b,c,d,e],4,L), \+(append(_,[a,d|_],L)), \+(append(_,[b,d|_],L)), \+(append(_,[d,e|_],L)), atom_chars(_¸ì,L), write_formatted('%t\n',[_¸ì]), fail. 'a,b,c,d,e¤Î5ʸ»ú¤ò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤È¤·¤Æ½ÅÊ£¤Ê¤¯4ʸ»ú¤Ç¹½À®¤µ¤ì¤ëÁ´¤Æ¤Îword¤Î¤Ê¤«¤ÇÉôʬʸ»úÎó¤È¤·¤Æ¡¢ad,bd,de¤ò´Þ¤Þ¤Ê¤¤¤â¤Î¤òɽ¼¨'. % *** user: '½çÎó' / 3 *** ½çÎó(Y,0,[]). ½çÎó(Y,N,[A|X]) :- del(A,Y,Z), M is N - 1, ½çÎó(Z,M,X). % *** user: del / 3 *** del(A,[A|X],X). del(A,[B|X],[B|Y]) :- del(A,X,Y). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://pc12.2ch.net/test/read.cgi/tech/1232627790/932 # # ¡Ú¡¡²ÝÂê¡¡¡Û¥Ü¥¦¥ê¥ó¥°¤Î¥¹¥³¥¢¤òÉÕ¤±¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤»¤è¡£ # ³ÆÅêµå¤´¤È¤ÎÅݤ줿¥Ô¥ó¿ô¤òÆþÎϤ·¡¢¥¹¥³¥¢°ìÍ÷¤ò½ÐÎÏ¡£ # ¡Ú¡¡·ÁÂÖ¡¡¡Û1. Java¥¢¥×¥ê¥±¡¼¥·¥ç¥ó(main()¤Ç³«»Ï) # ¡Ú¡¡GUI¡¡ ¡Û4. À©¸Â¤Ê¤· # ¡Ú¡¡´ü¸Â¡¡¡ÛËÜÆü¡¢7/10¡¡15:00 # ¡Ú¡¡Ver¡¡ ¡ÛEclipse Version: 3.4.2 # ¡Ú¡¡Êä¡¡¡Û£±¤Ä¤Î¥á¥½¥Ã¥É£±£°¹Ô°ÊÆâ¡¢°ú¿ô¡¦Ìá¤êÃͤò»ý¤Ä # ¥á¥½¥Ã¥ÉºÇÄ㣳¤ÄºîÀ®¤Î¤³¤È¡£ ¥Ü¡¼¥ê¥ó¥°¥¹¥³¥¢(_¥Ô¥ó¤ÎÅݤ줿¿ô¤Ê¤é¤Ó,_ÆÀÅÀɽ) :- ¿ôÃÍ¥ì¥ó¥°¥¹ÊÑ´¹(_¥Ô¥ó¤ÎÅݤ줿¿ô¤Ê¤é¤Ó,L1), ¥Ü¡¼¥ê¥ó¥°¤ÎÆÀÅÀ(L1,[],L2), ¿ôÃÍ¥ì¥ó¥°¥¹ÊÑ´¹(_ÆÀÅÀɽ,L2). ¥Ü¡¼¥ê¥ó¥°¤ÎÆÀÅÀ([],_,[]). ¥Ü¡¼¥ê¥ó¥°¤ÎÆÀÅÀ([[_,_,_,_,_,_,_,_,_,_],B,C],Y,[[[_,_,_,_,_,_,_,_,_,_]+B+C,Y2]]) :- append([_,_,_,_,_,_,_,_,_,_],B,C,Y1), append(Y,Y1,Y2). ¥Ü¡¼¥ê¥ó¥°¤ÎÆÀÅÀ([[_,_,_,_,_,_,_,_,_,_],B,C|R],Y,[[[_,_,_,_,_,_,_,_,_,_],Y2]|R2]) :- append([_,_,_,_,_,_,_,_,_,_],B,C,Y1), append(Y,Y1,Y2), ¥Ü¡¼¥ê¥ó¥°¤ÎÆÀÅÀ([B,C|R],Y2,R2). ¥Ü¡¼¥ê¥ó¥°¤ÎÆÀÅÀ([A,B,C|R],Y,[[A+B,Y2]|R2]) :- append(A,B,[_,_,_,_,_,_,_,_,_,_]), append([_,_,_,_,_,_,_,_,_,_],C,Y1), append(Y,Y1,Y2), ¥Ü¡¼¥ê¥ó¥°¤ÎÆÀÅÀ([C|R],Y2,R2). ¥Ü¡¼¥ê¥ó¥°¤ÎÆÀÅÀ([A,B|R],Y,[[A+B,Y2]|R2]) :- append(A,B,Y1), append(Y,Y1,Y2), ¥Ü¡¼¥ê¥ó¥°¤ÎÆÀÅÀ(R,Y2,R2). ¿ôÃÍ¥ì¥ó¥°¥¹ÊÑ´¹([],[]) :- !. ¿ôÃÍ¥ì¥ó¥°¥¹ÊÑ´¹([[M1+M2+M3,N]|R1],[[La+Lb+Lc,L2]|R2]) :- length(La,M1), length(Lb,M2), length(Lc,M3), length(L2,N), ¿ôÃÍ¥ì¥ó¥°¥¹ÊÑ´¹(R1,R2),!. ¿ôÃÍ¥ì¥ó¥°¥¹ÊÑ´¹([[M1+M2,N]|R1],[[La+Lb,L2]|R2]) :- length(La,M1), length(Lb,M2), length(L2,N), ¿ôÃÍ¥ì¥ó¥°¥¹ÊÑ´¹(R1,R2),!. ¿ôÃÍ¥ì¥ó¥°¥¹ÊÑ´¹([[M,N]|R1],[[La,L2]|R2]) :- length(La,M), length(L2,N), ¿ôÃÍ¥ì¥ó¥°¥¹ÊÑ´¹(R1,R2),!. ¿ôÃÍ¥ì¥ó¥°¥¹ÊÑ´¹([N|R1],[L|R2]) :- not(list(N)), length(L,N), ¿ôÃÍ¥ì¥ó¥°¥¹ÊÑ´¹(R1,R2),!. % °Ê²¼¤Î¥µ¥¤¥È¤Ï 'URL¤Î¥æ¡¼¥¶¡¼¾ðÊó¤ò¼èÆÀ¤¹¤ë'(URL,_¥æ¡¼¥¶¡¼¾ðÊó) :- atom_chars(URL,Chars), append(L1,['://'|L2],Chars), append(L3,['/'|_],L2), append(L4,['@'|_],L3), concat_atom(L4,_¥æ¡¼¥¶¡¼¾ðÊó). % °Ê²¼¤Î¥µ¥¤¥È¤Ï 'URL¤Î¥Ý¡¼¥ÈÈÖ¹æ¤ò¼èÆÀ¤¹¤ë'(URL,_¥Ý¡¼¥ÈÈÖ¹æ) :- atom_chars(URL,Chars), append(L1,['://'|L2],Chars), append(L3,['/'|_],L2), append(_,[':'|L4],L3), concat_atom(L4,_¥Ý¡¼¥ÈÈÖ¹æ). % °Ê²¼¤Î¥µ¥¤¥È¤Ï base64g(Atom,X) :- replace_all(Atom,' ','',Atom2), base64(X,Atom2) . base64s(Atom,X) :- \+(var(Atom)), name2(Atom,L1), base64_2(L1,Y), concat_atom(Y,X) . base64(Atom,X) :- \+(var(Atom)), atom_codes(Atom,L1), kjtoeuc(CodeList,L1), base64_2(CodeList,Y), concat_atom(Y,X),!. base64(X,Atom) :- var(X), atom_chars(Atom,List), base64_1(Y,List), concat_atom(Y,Y2), atom_codes(Y2,Codes), kjtoeuc(Codes,Y3), atom_codes(X,Y3),!. base64_1([],[]) :- !. base64_1(X,[A,B,C,=]) :- base64_table(A1,A), base64_table(B1,B), base64_table(C1,C), append(A1,B1,L1), append(L1,C1,L), base64_a2b(Y,L), base64_1(Z,R), append(Y,Z,X). base64_1(X,[A,B,=,=]) :- base64_table(A1,A), base64_table(B1,B), append(A1,B1,L), base64_a2b(Y,L), base64_1(Z,R), append(Y,Z,X). base64_1(X,[A,B,C,D|R]) :- base64_table(A1,A), base64_table(B1,B), base64_table(C1,C), base64_table(D1,D), append(A1,B1,L1), append(L1,C1,L2), append(L2,D1,L), base64_a2b(Y,L), base64_1(Z,R), append(Y,Z,X). base64_table([0,0,0,0,0,0],'A'). base64_table([0,0,0,0,0,1],'B'). base64_table([0,0,0,0,1,0],'C'). base64_table([0,0,0,0,1,1],'D'). base64_table([0,0,0,1,0,0],'E'). base64_table([0,0,0,1,0,1],'F'). base64_table([0,0,0,1,1,0],'G'). base64_table([0,0,0,1,1,1],'H'). base64_table([0,0,1,0,0,0],'I'). base64_table([0,0,1,0,0,1],'J'). base64_table([0,0,1,0,1,0],'K'). base64_table([0,0,1,0,1,1],'L'). base64_table([0,0,1,1,0,0],'M'). base64_table([0,0,1,1,0,1],'N'). base64_table([0,0,1,1,1,0],'O'). base64_table([0,0,1,1,1,1],'P'). base64_table([0,1,0,0,0,0],'Q'). base64_table([0,1,0,0,0,1],'R'). base64_table([0,1,0,0,1,0],'S'). base64_table([0,1,0,0,1,1],'T'). base64_table([0,1,0,1,0,0],'U'). base64_table([0,1,0,1,0,1],'V'). base64_table([0,1,0,1,1,0],'W'). base64_table([0,1,0,1,1,1],'X'). base64_table([0,1,1,0,0,0],'Y'). base64_table([0,1,1,0,0,1],'Z'). base64_table([0,1,1,0,1,0],a). base64_table([0,1,1,0,1,1],b). base64_table([0,1,1,1,0,0],c). base64_table([0,1,1,1,0,1],d). base64_table([0,1,1,1,1,0],e). base64_table([0,1,1,1,1,1],f). base64_table([1,0,0,0,0,0],g). base64_table([1,0,0,0,0,1],h). base64_table([1,0,0,0,1,0],i). base64_table([1,0,0,0,1,1],j). base64_table([1,0,0,1,0,0],k). base64_table([1,0,0,1,0,1],l). base64_table([1,0,0,1,1,0],m). base64_table([1,0,0,1,1,1],n). base64_table([1,0,1,0,0,0],o). base64_table([1,0,1,0,0,1],p). base64_table([1,0,1,0,1,0],q). base64_table([1,0,1,0,1,1],r). base64_table([1,0,1,1,0,0],s). base64_table([1,0,1,1,0,1],t). base64_table([1,0,1,1,1,0],u). base64_table([1,0,1,1,1,1],v). base64_table([1,1,0,0,0,0],w). base64_table([1,1,0,0,0,1],x). base64_table([1,1,0,0,1,0],y). base64_table([1,1,0,0,1,1],z). base64_table([1,1,0,1,0,0],'0'). base64_table([1,1,0,1,0,1],'1'). base64_table([1,1,0,1,1,0],'2'). base64_table([1,1,0,1,1,1],'3'). base64_table([1,1,1,0,0,0],'4'). base64_table([1,1,1,0,0,1],'5'). base64_table([1,1,1,0,1,0],'6'). base64_table([1,1,1,0,1,1],'7'). base64_table([1,1,1,1,0,0],'8'). base64_table([1,1,1,1,0,1],'9'). base64_table([1,1,1,1,1,0],+). base64_table([1,1,1,1,1,1],/). base64_table([A,B,C,D],X) :- base64_table([A,B,C,D,0,0],X). base64_table([A,B],X) :- base64_table([A,B,0,0,0,0],X). base64_a2b([],[]). base64_a2b([Atom|R],[A,B,C,D,E,F,G,H|R2]) :- atob(Atom,[A,B,C,D,E,F,G,H]), base64_a2b(R,R2). base64_2([],[]) :- !. base64_2([A,B,C|R],X) :- base64_i2b([A,B,C],L), base64_3(L,Z), base64_2(R,R2), append(Z,R2,X),!. base64_2([A,B],X) :- base64_i2b([A,B],L), base64_3(L,Z), append(Z,[=],X),!. base64_2([Y],X) :- base64_i2b([Y],L), base64_3(L,Z), append(Z,[=,=],X),!. base64_3([A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X],[Z1,Z2,Z3,Z4]) :- base64_table([A,B,C,D,E,F],Z1), base64_table([G,H,I,J,K,L],Z2), base64_table([M,N,O,P,Q,R],Z3), base64_table([S,T,U,V,W,X],Z4),!. base64_3([A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P],[Z1,Z2,Z3]) :- base64_table([A,B,C,D,E,F],Z1), base64_table([G,H,I,J,K,L],Z2), base64_table([M,N,O,P],Z3),!. base64_3([A,B,C,D,E,F,G,H],[Z1,Z2]) :- base64_table([A,B,C,D,E,F],Z1), base64_table([G,H],Z2). base64_i2b([],[]) :- !. base64_i2b([X|R],[1,B,C,D,E,F,G,H|R2]) :- var(X), itob(X,[1,B,C,D,E,F,G,H]), base64_i2b(R,R2),!. base64_i2b([X|R],[0,B,C,D,E,F,G,H|R2]) :- var(X), itob(U,[0,B,C,D,E,F,G,H]), X is U - 128, base64_i2b(R,R2),!. base64_i2b([Code|R],[A,B,C,D,E,F,G,H|R2]) :- itob(Code,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,A,B,C,D,E,F,G,H]), base64_i2b(R,R2) . name2(X,Y) :- atom(X), strlen(X,Len), findall(N,(for(1,M,Len) , char_code1(X,M,N1) , (N1 < 0 , N is N1 + 256 ; N1 >= 0 , N = N1)),Y),!. name2(A,[N]) :- atomic(A), name(A,[N]),!. name2(A,L) :- var(A), name21(L,L2), atom_codes(A,L2),!. name21([],[]) :- !. name21([N1,N2|R],[N|R2]) :- N1 > 127, N2 > 127, N is N1 * 256 + N2, name21(R,R2),!. name21([N1,N2|R],[N|R2]) :- N1 > 127, N2 < 128, N is N1 * 256 + N2, name21(R,R2),!. name21([N1|R],[N1|R2]) :- name21(R,R2). itob(N,L) :- itob(N,[],L1), length(L1,Len), Len2 is 8 - Len, length(L2,Len2), all(L2,0), append(L2,L1,L). itob(0,X,X) :- !. itob(N,Y,X) :- M is N mod 2, N2 is N // 2, itob(N2,[M|Y],X). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://pc12.2ch.net/test/read.cgi/tech/1244449887/851 # # ¤¢¤¤¤¦¤¨¤ª # /*¤«¤¤¯¤±¤³*/ # ¤µ¤·¤¹/*¤»¤½ # ¤Ê¤Ë¤Ì*/¤Í¤Î # # ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¡Êtest.txt¡Ë¤«¤éʸ»ú¿ô¡¢²þ¹Ô¿ô¡¢¥³¥á¥ó¥Èʸ»ú¿ô¤ò¥«¥¦¥ó¥È¤·¡¢½ÐÎϤ¹¤ë¥×¥í¥°¥é¥à¤Ç¤¹¡£ # ¤ª´ê¤¤¤¤¤¿¤·¤Þ¤¹¡£ t274(_ʸ»ú¿ô,_²þ¹Ô¿ô,_¥³¥á¥ó¥Èʸ»ú¿ô) :- get_chars('test.txt',Chars), length(Chars,_ʸ»ú¿ô), ²þ¹Ô¿ô¤ò¿ô¤¨¤ë(Chars,_²þ¹Ô¿ô), ¥³¥á¥ó¥Èʸ»ú¿ô¤ò¿ô¤¨¤ë(Chars,_¥³¥á¥ó¥Èʸ»ú¿ô). ²þ¹Ô¿ô¤ò¿ô¤¨¤ë(Chars,_²þ¹Ô¿ô) :- findall(_,append(_,['\n'|_],Chars),L), length(L,_²þ¹Ô¿ô). ¥³¥á¥ó¥Èʸ»ú¿ô¤ò¿ô¤¨¤ë(Chars,_¥³¥á¥ó¥Èʸ»ú¿ô) :- append(_,['/','*'|L2],Chars), append(_¥³¥á¥ó¥Èʸ»ú¸õÊä,['*','/'|_],L2), not(append(_,['/','*'|_],_¥³¥á¥ó¥Èʸ»ú¸õÊä)), ²þ¹Ô¤ò¼è¤ê½ü¤¯(_¥³¥á¥ó¥Èʸ»ú¸õÊä,_²þ¹Ô¤ò¼è¤ê½ü¤¤¤¿¥³¥á¥ó¥Èʸ»ú¸õÊä), length(_²þ¹Ô¤ò¼è¤ê½ü¤¤¤¿¥³¥á¥ó¥Èʸ»ú¸õÊä,_¥³¥á¥ó¥Èʸ»ú¿ô). ²þ¹Ô¤ò¼è¤ê½ü¤¯([],[]). ²þ¹Ô¤ò¼è¤ê½ü¤¯(['\n'|R1],R2) :- ²þ¹Ô¤ò¼è¤ê½ü¤¯(R1,R2),!. ²þ¹Ô¤ò¼è¤ê½ü¤¯([A|R1],[A|R2]) :- not(A='\n'), ²þ¹Ô¤ò¼è¤ê½ü¤¯(R1,R2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ:: http://pc12.2ch.net/test/read.cgi/tech/1244449887/482 # #[1] ¼ø¶Èñ¸µ¡§¥×¥í¥°¥é¥ß¥ó¥°´ðÁà #[2] ÌäÂêʸ # # http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9473.txt 193 :- ¡¡¡¡t193_1(['¡¡','¡¡','¡¡','¡¡',¡ú],[¡ú,'¡¡','¡¡','¡¡','¡¡']). t193_1(L1,L2) :- ¡¡¡¡L1=[¡ú|_], ¡¡¡¡¡ú¤òɽ¼¨(L1,L2),!. t193_1(L1,L2) :- ¡¡¡¡¡ú¤òɽ¼¨(L1,L2), ¡¡¡¡append([A],R1,L1), ¡¡¡¡append(R1,[A],L3), ¡¡¡¡append(L4,[B],L2), ¡¡¡¡t_193_1(L3,[B|L4]). ¡ú¤òɽ¼¨([],[]) :- nl. ¡ú¤òɽ¼¨(['¡¡'|R1],['¡¡'|R2]) :- ¡¡¡¡!, ¡¡¡¡write('¡¡'), ¡¡¡¡¡ú¤òɽ¼¨(R1,R2). ¡ú¤òɽ¼¨([_|R1],[_|R2]) :- ¡¡¡¡write(¡ú), ¡¡¡¡¡ú¤òɽ¼¨(R1,R2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï # ½Ðŵ :: C/C++¤Î½ÉÂêÊÒÉÕ¤±¤Þ¤¹ 127ÂåÌÜ #482 # [1] ¼ø¶Èñ¸µ¡§¥×¥í¥°¥é¥ß¥ó¥°´ðÁà # [2] ÌäÂêʸ # # http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9473.txt t183 :- t183_1([0,0,0,0,1],[1,0,0,0,0]). t183_1(L1,L2) :- L1=[1|_], '¡ú¤òɽ¼¨'(L1,L2),!. t183_1(L1,L2) :- '¡ú¤òɽ¼¨'(L1,L2), append([A],R1,L1), append(R1,[A],L3), append(L4,[B],L2), t183_1(L3,[B|L4]). '¡ú¤òɽ¼¨'([],[]) :- nl. '¡ú¤òɽ¼¨'([A|R1],[B|R2]) :- 1 is A \/ B, write('¡ú'), '¡ú¤òɽ¼¨'(R1,R2). '¡ú¤òɽ¼¨'([A|R1],[B|R2]) :- 0 is A \/ B, write('¡¡'), '¡ú¤òɽ¼¨'(R1,R2). % °Ê²¼¤Î¥µ¥¤¥È¤Ï fizzbuzz(N) :- between(1,N,M), fizzbuzz_2(M,S), writef('%t ',[S]), N = N. fizzbuzz_2(N,'FizzBuzz') :- 0 is N mod 3, 0 is N mod 5,!. fizzbuzz_2(N,'Fizz') :- 0 is N mod 3,!. fizzbuzz_2(N,N,'Buzz') :- 0 is N mod 5,!. fizzbuzz_2(N,N). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- between(1,N,M), fizzbuzz(M,X), writef('%t ',[X]), M = N. fizzbuzz(N,'Fizz') :- 0 is N mod 3,\+(0 is N mod 3). fizzbuzz(N,'Buzz') :- 0 is N mod 5,\+(0 is N mod 5). fizzbuzz(N,'FizzBuzz') :- 0 is N mod 3,0 is N mod 5. fizzbuzz(N,N) :- \+(0 is N mod 3),\+(0 is N mod 5). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(0) :- !. fizzbuzz(N) :- fizzbuzz(N,X), N_1 is N - 1, fizzbuzz(N_1), writef('%t ',[X]). fizzbuzz(M,'FizzBuzz') :- 0 is M mod 15,!. fizzbuzz(M,'Fizz') :- 0 is M mod 3,!. fizzbuzz(M,N,'Buzz') :- 0 is M mod 5,!. fizzbuzz(M,M). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- fizzbuzz(1,N). fizzbuzz(M,N) :- M > N,!. fizzbuzz(M,N) :- fizzbuzz_2(M,X), writef('%t ',[X]). M_2 is M + 1, fizzbuzz(M_2,N). fizzbuzz_2(M,'FizzBuzz') :- 0 is M mod 15,!. fizzbuzz_2(M,'Fizz') :- 0 is M mod 3,!. fizzbuzz_2(M,N,'Buzz') :- 0 is M mod 5,!. fizzbuzz_2(M,M). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- forall(( between(1,N,M), fizzbuzz_2(M,S), writef('%t ',[S])), true). fizzbuzz_2(M,'FizzBuzz') :- 0 is M mod 15,!. fizzbuzz_2(M,'Fizz') :- 0 is M mod 3,!. fizzbuzz_2(M,N,'Buzz') :- 0 is M mod 5,!. fizzbuzz_2(M,M). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- between(1,M,N), fizzbuzz(N,[[1,N],[3,'Fizz'],[5,'Buzz']],L2), fizzbuzz_2(L2,S), writef('%t ',[S]), N = M. fizzbuzz(N,L1,L2) :- findall(S,( member([U,S],L1), 0 is N mod U), L2). fizzbuzz_2([N],N). fizzbuzz_2([_,A|L],S) :- atomic_list_concat([A|L],S). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- between(1,N,_n), findall(A,( member([_m,A],[[1,_n],[3,'Fizz'],[5,'Buzz']]), 0 is _n mod _m), L), fizzbuzz_2(L,S), writef('%t ',S), N = _n. fizzbuzz_2([N],N). fizzbuzz_2([_,A|L],S) :- atomic_list_concat([A|L],S). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- fizzbuzz(1,N). fizzbuzz(M,N) :- M > N,!. fizzbuzz(M,N) :- fizzbuzzɽ¼¨(M), M_2 is M + 1, fizzbuzz(M_2,N). fizzbuzzɽ¼¨(M) :- fizzbuzzɽ¼¨(M,_ɽ¼¨), writef('%t ',[_ɽ¼¨]). fizzbuzzɽ¼¨(M,'FizzBuzz') :- 0 is M mod 3, 0 is M mod 5,!. fizzbuzzɽ¼¨(M,'Fizz') :- 0 is M mod 3,!. fizzbuzzɽ¼¨(M,'Buzz') :- 0 is M mod 5,!. fizzbuzzɽ¼¨(M,M). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- fizzbuzz(1,N). fizzbuzz(N,Max) :- N > Max. fizzbuzz(N,Max) :- fizzbuzz_2(N,C), nth0(C,[N,'Fizz','Buzz','FizzBuzz'],X), writef('%t ',[X]), N_2 is N + 1, fizzbuzz(N_2,Max). fizzbuzz_2(N,C) :- 0 is N mod 3 -> A=1;A=0. 0 is N mod 5 -> B=1;B=0, C is A + 2 * B. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- findall(M,between(1,N,M),L), fizz¤ËÃÖ´¹¤¹¤ë(L,L1), buzz¤ËÃÖ´¹¤¹¤ë(L1,L2), ɽ¼¨¤¹¤ë(L2),!. fizz¤ËÃÖ´¹¤¹¤ë([_1,_2,_3|R1],[_1,_2,fizz|R2]) :- fizz¤ËÃÖ´¹¤¹¤ë(R1,R2). fizz¤ËÃÖ´¹¤¹¤ë(L,L). buzz¤ËÃÖ´¹¤¹¤ë([_1,_2,_3,_4,fizz|R1],[_1,_2,_3,_4,fizzbuzz|R2]) :- buzz¤ËÃÖ´¹¤¹¤ë(R1,R2). buzz¤ËÃÖ´¹¤¹¤ë([_1,_2,_3,_4,_5|R1],[_1,_2,_3,_4,buzz|R2]) :- buzz¤ËÃÖ´¹¤¹¤ë(R1,R2). buzz¤ËÃÖ´¹¤¹¤ë(L,L). ɽ¼¨¤¹¤ë(L) :- atomic_list_concat(L,' ',_ɽ¼¨Ê¸»úÎó), writef('%t\n',[_ɽ¼¨Ê¸»úÎó]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- fizzbuzz(N,_fizzbuzz¤Ê¤é¤Ó), fizzbuzz¤Ê¤é¤Ó¤òɽ¼¨¤¹¤ë(_fizzbuzz¤Ê¤é¤Ó),!. fizzbuzz(N,L2) :- ºÇ½é¤Ë¼«Á³¿ô¤Ê¤é¤Ó¤òºî¤ê(N,_¼«Á³¿ô¤Ê¤é¤Ó), fizz¤ËÃÖ´¹¤¹¤ë(_¼«Á³¿ô¤Ê¤é¤Ó,L1), buzz¤ËÃÖ´¹¤¹¤ë(L1,L2). ºÇ½é¤Ë¼«Á³¿ô¤Ê¤é¤Ó¤òºî¤ê(N,_¼«Á³¿ô¤Ê¤é¤Ó) :- findall(M,between(1,N,M),_¼«Á³¿ô¤Ê¤é¤Ó). fizz¤ËÃÖ´¹¤¹¤ë([_1,_2,_3|R1],[_1,_2,fizz|R2]) :- fizz¤ËÃÖ´¹¤¹¤ë(R1,R2). fizz¤ËÃÖ´¹¤¹¤ë(L,L). buzz¤ËÃÖ´¹¤¹¤ë(L1,L2) :- fizzbuzz¤â¹Íθ¤·¤Ä¤Äbuzz¤ËÃÖ´¹¤¹¤ë(L1,L2). buzz¤ËÃÖ´¹¤¹¤ë(L,L). fizzbuzz¤â¹Íθ¤·¤Ä¤Äbuzz¤ËÃÖ´¹¤¹¤ë([_1,_2,_3,_4,fizz|R1],[_1,_2,_3,_4,fizzbuzz|R2]) :- buzz¤ËÃÖ´¹¤¹¤ë(R1,R2). fizzbuzz¤â¹Íθ¤·¤Ä¤Äbuzz¤ËÃÖ´¹¤¹¤ë([_1,_2,_3,_4,_5|R1],[_1,_2,_3,_4,buzz|R2]) :- buzz¤ËÃÖ´¹¤¹¤ë(R1,R2). fizzbuzz¤Ê¤é¤Ó¤òɽ¼¨¤¹¤ë(_fizzbuzz¤Ê¤é¤Ó) :- atomic_list_concat(_fizzbuzz¤Ê¤é¤Ó,' ',_ɽ¼¨Ê¸»úÎó), writef('%t\n',[_ɽ¼¨Ê¸»úÎó]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- length(L0,N), fizzbuzz([_],[_|L0],[_,_,_],[_,_,_,_,_]). fizzbuzz(Lm,Lm,_,_). fizzbuzz(L0,Lm,L1,L2) :- fizzbuzz(L0,L1,L2,L3,L4,_Àµ²ò), writef('%t ',[_Àµ²ò]), fizzbuzz([_|L0],Lm,L3,L4). fizzbuzz(_,[_],[_],[_,_,_],[_,_,_,_,_],'FizzBuzz'). fizzbuzz(_,[_],[_|L2],[_,_,_],L2,'Fizz'). fizzbuzz(_,[_|L1],[_],L1,[_,_,_,_,_],'Buzz'). fizzbuzz(L,[_|L1],[_|L2],L1,L2,N) :- length(L,N). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- findall(M,between(1,N,M),L), fizzbuzz([_],[_],L). fizzbuzz(_,_,[]) :- !. fizzbuzz([_,_,_],[_,_,_,_,_],[_|R]) :- fizzbuzz([],[],['FizzBuzz'|R]). fizzbuzz([_,_,_],L2,[_|R]) :- fizzbuzz([],L2,['Fizz'|R]). fizzbuzz(L1,[_,_,_,_,_],[_|R]) :- fizzbuzz(L1,[],['Buzz'|R]). fizzbuzz(L1,L2,[A|R]) :- writef('%t ',[A]), fizzbuzz([_|L1],[_|L2],R). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- findall(M,between(1,N,M),L), fizzbuzz([_,_,_],[_,_,_,_,_],L). fizzbuzz(_,_,[]) :- !. fizzbuzz([],[],[_|R]) :- fizzbuzz([_,_,_],[_,_,_,_,_],['FizzBuzz'|R]). fizzbuzz([],L2,[_|R]) :- fizzbuzz([_,_,_],L2,['Fizz'|R]). fizzbuzz(L1,[],[_|R]) :- fizzbuzz(L1,[_,_,_,_,_],['Buzz'|R]). fizzbuzz([_|L1],[_|L2],[A|R]) :- writef('%t ',[A]), fizzbuzz(L1,L2,R). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- findall(M,between(1,N,M),L), forall(fizzbuzz(['','','Fizz'],['','','','','Buzz'],L),true). fizzbuzz([A|R1],[B|R2],[N|R3]) :- fizzbuzz(A,B,N,C), writef('%t ',[C]). fizzbuzz([A|R1],[B|R2],[_|R3]) :- append(R1,[A],L1), append(R2,[B],L2), fizzbuzz(L1,L2,R3). fizzbuzz('','',N,N) :- !. fizzbuzz(A,B,_,C) :- atom_concat(A,B,C). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- findall(M,between(1,N,M),L), fizzbuzz(['','','Fizz'],['','','','','Buzz'],L). fizzbuzz(_,_,[]). fizzbuzz([A|R1],[B|R2],[N|R3]) :- fizzbuzz(A,B,N,C), writef('%t ',[C]), append(R1,[A],L1), append(R2,[B],L2), fizzbuzz(L1,L2,R3). fizzbuzz('','',N,N) :- !. fizzbuzz(A,B,_,C) :- atom_concat(A,B,C). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- findall(M,between(1,N,M),L), forall(fizzbuzz(['','','Fizz'],['','','','','Buzz'],L),true). fizzbuzz([A|R1],[B|R2],[N|R3]) :- fizzbuzz(A,B,N,C), writef('%t%t%t',[A,B,C]). fizzbuzz([A|R1],[B|R2],[_|R3]) :- append(R1,[A],L1), append(R2,[B],L2), fizzbuzz(L1,L2,R3). fizzbuzz('','',N,N). fizzbuzz(A,B,_,' '). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- findall(M,between(1,N,M),L), forall(fizzbuzz(['','','Fizz'],['','','','','Buzz'],L),true). fizzbuzz([A|R1],[B|R2],[N|R3]) :- fizzbuzz(A,B,N,C), writef('%t%t%t ',[A,B,C]). fizzbuzz([A|R1],[B|R2],[_|R3]) :- append(R1,[A],L1), append(R2,[B],L2), fizzbuzz(L1,L2,R3). fizzbuzz('','',N,N) :- !. fizzbuzz(A,B,_,''). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- fizzbuzz([],N,['','','Fizz'],['','','','','Buzz']),!. fizzbuzz(Ln,N,_,_) :- length(Ln,N). fizzbuzz(Ln,N,L1,L2) :- fizzbuzz_1([_|Ln],L1,L2,S), writef('%t ',[S]), fizzbuzz_2(L1,L2,L1_2,L2_2), fizzbuzz([_|Ln],N,L1_2,L2_2). fizzbuzz_1([_|Ln],[''|_],[''|_],N) :- length([_|Ln],N). fizzbuzz_1(_,[A|_],[B|_],S) :- atomic_list_concat([A,B],S). fizzbuzz_2([A|R1],[B|R2],L1_2,L2_2) :- append(R1,[A],L1_2), append(R2,[B],L2_2). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- fizzbuzz([_],['','','',fizz],['','','','',buzz],Lnx), length(Lnx,N). fizzbuzz(Ln,[A|R1],[B|R2],Ln) :- ɽ¼¨(Ln,A,B). fizzbuzz(Ln,[A|R1],[B|R2],Lnx) :- ²óž([A|R1],[B|R2],L1,L2), fizzbuzz([_|Ln],L1_2,L2_2,Lnx). ²óž([A|R1],[B|R2],L1,L2) :- append(R1,[A],L1), append(R2,[B],L2). ɽ¼¨(Ln,A,B) :- ɽ¼¨¹à(Ln,A,B,X), writef('%t '[X]). ɽ¼¨¹à(Ln,'','',N) :- length(Ln,N),!. ɽ¼¨¹à(_,A,B,C) :- atom_concat([A,B],C). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- fizzbuzz([],N,['','','Fizz'],['','','','','Buzz']). fizzbuzz(L,N,_,_) :- length(L,N),!. fizzbuzz(Ln,N,[_31,_32,_33],[_51,_52,_53,_54,_55]) :- fizzbuzz_1(_31,_51,Ln,A), writef('%t%t%t ',[_31,_51,A]), fizzbuzz([_|Ln],N,[_32,_33,_31],[_52,_53,_54,_55,_51]). fizzbuzz_1('','',Ln,M) :- length([_|Ln],M),!. fizzbuzz_1(_,_,_,''). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- fizzbuzz([_],[_,_],[_,_,_,_],Ln,X), writef('%t',[X]), length(Ln,N),!. fizzbuzz(L1,L2,L3,Ln,X) :- fizzbuzz_1(L1,L2,L3,L2_1,L3_1,Y), fizzbuzz_2(L1,L2_1,L3_1,Y,Ln,X). fizzbuzz_2(L1,L2,L3,X,L1,X). fizzbuzz_2(L1,L2,L3,_,Ln,X) :- fizzbuzz([_|L1],L2,L3,Ln,X). fizzbuzz_1(R1,[],[],[_,_],[_,_,_,_],'FizzBuzz '). fizzbuzz_1(R1,[],[_|R3],[_,_],R3,'Fizz '). fizzbuzz_1(R1,[_|R2],[],R2,[_,_,_,_],'Buzz '). fizzbuzz_1(R1,[_|R2],[_|R3],R2,R3,N) :- length(R1,N). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(Nth,X) :- fizzbuzz([_],[_,_],[_,_,_,_],Nth,X). fizzbuzz(L1,L2,L3,Nth,X) :- length(L1,Nth_1), fizzbuzz_1(Nth_1,L2,L3,L2_1,L3_1,Y), fizzbuzz_2(L1,L2_1,L3_1,Nth_1,Nth,Y,X). fizzbuzz_2(L1,L2,L3,Nth,Nth,X,X). fizzbuzz_2(L1,L2,L3,_,Nth,_,X) :- fizzbuzz([_|L1],L2,L3,Nth,X). fizzbuzz_1(_,[],[],[_,_],[_,_,_,_],'FizzBuzz'). fizzbuzz_1(_,[],[_|R3],[_,_],R3,'Fizz'). fizzbuzz_1(_,[_|R2],[],R2,[_,_,_,_],'Buzz'). fizzbuzz_1(N,[_|R2],[_|R3],R2,R3,N). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(M) :- fizzbuzz(M,[_],[_,_,_],[_,_,_,_,_]). fizzbuzz(M,[_|L],_,_) :- length(L,M),!. fizzbuzz(M,L,L1,L2) :- fizzbuzz(L,L1,L2,L_1,L1_1,L2_1,S), writef('%t ',[S]), fizzbuzz(M,L_1,L1_1,L2_1). fizzbuzz(L,L,L,[_|L],[_,_,_|L],[_,_,_,_,_|L],fizzbuzz) :- !. fizzbuzz(L,L,L2,[_|L],[_,_,_|L],L2,fizz) :- !. fizzbuzz(L,L1,L,[_|L],L1,[_,_,_,_,_|L],buzz). fizzbuzz(L,L1,L2,[_|L],L1,L2,N) :- length(L,N). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(M) :- s(S,M), fizzbuzz(S,s(0),s(s(s(0))),s(s(s(s(s(0)))))). fizzbuzz(S,s(S),_,_) :- !. fizzbuzz(MS,S,S1,S2) :- fizzbuzz(S,S1,S2,S_1,S1_1,S2_1,A), writef('%t ',[A]), fizzbuzz(MS,S_1,S1_1,S2_1). fizzbuzz(S,S,S,s(S),s(s(s(S))),s(s(s(s(s(S))))),fizzbuzz) :- !. fizzbuzz(S,S,S2,s(S),s(s(s(S))),S2,fizz) :- !. fizzbuzz(S,S1,S,s(S),S1,s(s(s(s(s(S))))),buzz). fizzbuzz(S,S1,S2,s(S),S1,S2,N) :- s(S,N). s(0,0) :- !. s(s(S),N) :- var(N), s(S,N_1), succ(N_1,N). s(s(S),N) :- integer(N), succ(N_1,N), s(S,N_1). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% finzzbuzz(N) :- fizzbuzz([],N,['FizzBuzz',_,_,'Fizz',_,'Buzz','Fizz',_,_,'Fizz','Buzz',_,'Fizz',_,_],[]). fizzbuzz(Ln,N,_,_) :- length(Ln,N). fizzbuzz(Ln,N,Ln2,[_,_,_,_,_,_,_,_,_,_,_,_,_,_,_]) :- fizzbuzz(Ln,N,Ln2,[]). fizzbuzz(Ln,N,Ln2,L) :- append(_,[A|L],Ln2), fizzbuzz_2(Ln,A,B), writef('%t ',[B]), fizzbuzz([_|Ln],N,Ln2,[_|L]). fizzbuzz_2(Ln,A,A) :- atom(A). fizzbuzz_2(Ln,A,N) :- length([_|Ln],N). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- findall(M,between(1,N,M),L), fizzbuzz(L,[_,_,'Fizz',_,'Buzz','Fizz',_,_,'Fizz','Buzz',_,'Fizz',_,_,'FizzBuzz']). fizzbuzz([],_) :- !. fizzbuzz(L,[]) :- fizzbuzz(L,[_,_,'Fizz',_,'Buzz','Fizz',_,_,'Fizz','Buzz',_,'Fizz',_,_,'FizzBuzz']). fizzbuzz([A|R1],[B|R2]) :- var(B), writef('%t ',[A]), fizzbuzz(R1,R2). fizzbuzz([A|R1],[B|R2]) :- atomi(B), writef('%t ',[B]), fizzbuzz(R1,R2). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 'FizzBuzz'(N) :- findall(M,between(1,N,M),L1), 'FizzBuzzÃÖ´¹¥Ñ¥¿¡¼¥ó'(L1,L2), atomic_list_concat(L2,' ',S), writef('%t\n',[S]). 'FizzBuzzÃÖ´¹¥Ñ¥¿¡¼¥ó'([_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15|R1],[_1,_2,'Fizz',_4,'Buzz','Fizz',_7,_8,'Fizz','Buzz',_11,'Fizz',_13,_14,'FizzBuzz'|R2]) :- 'FizzBuzzÃÖ´¹¥Ñ¥¿¡¼¥ó'(R1,R2). 'FizzBuzzÃÖ´¹¥Ñ¥¿¡¼¥ó'(L,R) :- length(L,Len), length(R,Len), append(L,_,[_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15]), append(R,_,[_1,_2,'Fizz',_4,'Buzz','Fizz',_7,_8,'Fizz','Buzz',_11,'Fizz',_13,_14,'FizzBuzz']). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- ÃÖ´¹¥Ñ¥¿¡¼¥ó¤Ê¤é¤Ó¤òÀ¸À®(_ÃÖ´¹¥Ñ¥¿¡¼¥ó¤Ê¤é¤Ó), nth1(_nth1,_ÃÖ´¹¥Ñ¥¿¡¼¥ó¤Ê¤é¤Ó,A), fizzbuzz_2(_nth1,A), _nth1 = N. ÃÖ´¹¥Ñ¥¿¡¼¥ó¤Ê¤é¤Ó¤òÀ¸À®(_ÃÖ´¹¥Ñ¥¿¡¼¥ó¤Ê¤é¤Ó) :- U is (N // 15) + 1, findall([_,_,'Fizz',_,'Buzz',_,_,_,'Fizz','Buzz',_,'Fizz',_,_,'FizzBuzz'],between(1,U,_),LL), flatten(LL,_ÃÖ´¹¥Ñ¥¿¡¼¥ó¤Ê¤é¤Ó). fizzbuzz_2(_nth1,A) :- var(A), writef('%t ',[_nth1]). fizzbuzz_2(_,A) :- atom(A), writef('%t ',[A]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- M is N // 15 + 1, findall([_,_,'Fizz',_,'Buzz','Fizz',_,_,'Fizz','Buzz',_,'Fizz',_,_,'FizzBuzz'],between(1,M,_),LL), flatten(LL,L), forall(( append(L0,[A|R],L), length([_|L0],N_1), ( N_1 > Max,!,fail; fizzbuzz_2(A,N_1,B))), writef('%t ',[B])). fizzbuzz_2(A,N,N) :- var(A),!. fizzbuzz_2(A,N,A). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- 'fizzbuzz¥Ñ¥¿¡¼¥ó¤Î·ÁÀ®'(N,L), 'fizz/buzz/fizzbuzz/½ç½ø¿ô¤Î¤É¤ì¤«¤òɽ¼¨¤¹¤ë'(N,L,_½ç½ø¿ô). 'fizzbuzz¥Ñ¥¿¡¼¥ó¤Î·ÁÀ®'(N,L) :- N_1 is (N - 1) // 15 + 1, findall([_,_,'Fizz',_,'Buzz','Fizz',_,_,'Fizz','Buzz',_,'Fizz',_,_,'FizzBuzz'],between(1,N_1,_),LL), flatten(LL,L). 'fizz/buzz/fizzbuzz/½ç½ø¿ô¤Î¤É¤ì¤«¤òɽ¼¨¤¹¤ë'(N,L,_½ç½ø¿ô) :- nth1(_nth1,L,A), ɽ¼¨¹à¤ÎÁªÂò(_nth1,A,_ɽ¼¨¹à), writef('%t ',[_ɽ¼¨¹à]), _nth1 = N,!. ɽ¼¨¹à¤ÎÁªÂò(_nth1,_nth1,_nth1) :- !. ɽ¼¨¹à¤ÎÁªÂò(_nth1,A,A). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- 'fizzbuzz¥Ñ¥¿¡¼¥ó¤Î·ÁÀ®'(N,L1), ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òËä¤á¤ë(N,L1,L2), forall(member(A,L2),writef('%t ')). 'fizzbuzz¥Ñ¥¿¡¼¥ó¤Î·ÁÀ®'(N,L) :- N_1 is (N - 1) // 15 + 1, findall([_,_,'Fizz',_,'Buzz','Fizz',_,_,'Fizz','Buzz',_,'Fizz',_,_,'FizzBuzz'],between(1,N_1,_),LL), flatten(LL,L). ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òËä¤á¤ë(N,L1,L2) :- findall(U,( nth1(_nth1,L1,U), _nth1 =< N, (U=_nth1;atom(U))), L2). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- 'fizzbuzz¥Ñ¥¿¡¼¥ó¤Î·ÁÀ®'(N,L1), ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òËä¤á¤ë(N,L1,L2), forall(member(A,L2),writef('%t ')). 'fizzbuzz¥Ñ¥¿¡¼¥ó¤Î·ÁÀ®'(N,L) :- N_1 is (N - 1) // 15 + 1, findall([_,_,'Fizz',_,'Buzz','Fizz',_,_,'Fizz','Buzz',_,'Fizz',_,_,'FizzBuzz'],between(1,N_1,_),LL), flatten(LL,L). ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òËä¤á¤ë(M,N,L) :- M > N,!. ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òËä¤á¤ë(M,N,[M|R]) :- M_2 is M + 1, ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òËä¤á¤ë(M_2,N,R). ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òËä¤á¤ë(M,N,[_|R]) :- M_2 is M + 1, ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òËä¤á¤ë(M_2,N,R). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- 'fizzbuzz¥Ñ¥¿¡¼¥ó¤Î·ÁÀ®'(N,L1), ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òɽ¼¨¤¹¤ë(N,L1). 'fizzbuzz¥Ñ¥¿¡¼¥ó¤Î·ÁÀ®'(N,L) :- N_1 is (N - 1) // 15 + 1, findall([_,_,'Fizz',_,'Buzz','Fizz',_,_,'Fizz','Buzz',_,'Fizz',_,_,'FizzBuzz'],between(1,N_1,_),LL), flatten(LL,L). ÊÑ¿ô¤À¤±Í×ÁǰÌÃÖÈÖ¹æ¤òɽ¼¨¤¹¤ë(N,L1) :- forall((nth1(_nth1,L1,U),_nth1 =< N,(U=_nth1;atom(U))),writef('%t ',[U])). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- fizzbuzz(0,N),!. fizzbuzz(N,M) :- append(L0,[A|R],[1,2,[3,fizz],4,[5,buzz],[6,fizz],7,8,[9,fizz],[10,buzz],11,[12,fizz],13,14,[15,fizzbuzz]]), ɽ¼¨ÃÍ(N,A,N3,_ɽ¼¨ÃÍ), fizzbuzz_2(N,M,R,N3,_ɽ¼¨ÃÍ). fizzbuzz_2(N,M,R,N3,_ɽ¼¨ÃÍ) :- N3 > M. fizzbuzz_2(N,M,R,N3,_ɽ¼¨ÃÍ) :- writef('%t ',[_ɽ¼¨ÃÍ]), R = [], N4 is N + 15, fizzbuzz(N4,M). ɽ¼¨ÃÍ(N1,[N2,A],N3,A) :- N3 is N1 + N2,!. ɽ¼¨ÃÍ(N1,N2,N3,N3) :- N3 is N1 + N2. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- N_1 is (N - 1) // 15 + 1, findall([_,_,'Fizz',_,'Buzz','Fizz',_,_,'Fizz','Buzz',_,'Fizz',_,_,'FizzBuzz'],between(1,N_1,_),LL), flatten(LL,L1), forall((nth1(_nth1,L1,U),_nth1 =< N,(var(U),U=_nth1;atom(U))),writef('%t ',[U])). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(N) :- 'fizzbuzz¥Ñ¥¿¡¼¥ó¤Î·ÁÀ®'(N,L_f,L_b), 'fizz/buzz/fizzbuzz/½ç½ø¿ô¤Î¤É¤ì¤«¤òɽ¼¨¤¹¤ë'(N,L_f,L_b,_½ç½ø¿ô). 'fizzbuzz¥Ñ¥¿¡¼¥ó¤Î·ÁÀ®'(N,L_f,L_b) :- N_f is (N - 1) // 3 + 1, findall(['','','Fizz'],between(1,N_f,_),LL_f), flatten(LL_f,L_f). N_b is (N - 1) // 5 + 1, findall(['','','','','Buzz'],between(1,N_b,_),LL_b), flatten(LL_b,L_b). 'fizz/buzz/fizzbuzz/½ç½ø¿ô¤Î¤É¤ì¤«¤òɽ¼¨¤¹¤ë'(N,L,_½ç½ø¿ô) :- nth1(_nth1,L_f,F), nth1(_nth1,L_b,B), ɽ¼¨¹à¤ÎÁªÂò(_nth1,F,B,_ɽ¼¨¹à), writef('%t ',[_ɽ¼¨¹à]), _nth1 = N,!. ɽ¼¨¹à¤ÎÁªÂò(_nth1,'','',_nth1) :- !. ɽ¼¨¹à¤ÎÁªÂò(_,A,B,_ɽ¼¨¹à) :- atomic_list_concat([A,B],_ɽ¼¨¹à). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # # FizzBuzzÌäÂê¤ÎÍ×ÎΤǡ¢1¤«¤é100¤Þ¤Ç¤ÎÀ°¿ô¤ò¡¢¤«¤¤¤®¤ç¤¦¶èÀÚ¤ê¤Ç½ÐÎϤ»¤è¡¢¤¿¤À¤·¡¢ # 3¤ÎÇÜ¿ô¤Ê¤é¡ÖFizz¡×¤ò¡¢7¤ÎÇÜ¿ô¤Ê¤é¡ÖBuzz¡×¤ò¡¢13¤ÎÇÜ¿ô¤Ê¤é¡Öhoge¡×¤ò¡¢ # ¿ôÃͤÎÂå¤ï¤ê¤Ë½ÐÎϤ¹¤ë¤³¤È¤È¤¹¤ë # 'FizzBuzzhoge' :- 'FizzBuzzhoge'([],['','','Fizz'],['','','','','','','Buzz'],['','','','','','','','','','','','','hoge']). 'FizzBuzzhoge'(Ln,_,_,_) :- length(Ln,100),!. 'FizzBuzzhoge'(Ln,L1,L2,L3) :- 'FizzBuzzhoge'([_|Ln],L1,L2,L3,_ɽ¼¨¾ðÊó), writef('%t\n',[_ɽ¼¨¾ðÊó]), »°¤Ä¤Î¥ê¥¹¥È¤Îº¸¥·¥Õ¥È(L1,L2,L3,L1_2,L2_2,L3_2), 'FizzBuzzhoge'([_|Ln],L1_2,L2_2,L3_2). 'FizzBuzzhoge'(Ln,[''|_],[''|_],[''|_],_¿ôÃÍ) :- length(Ln,_¿ôÃÍ),!. 'FizzBuzzhoge'(Ln,[A|_],[B|_],[C|_],_FizzBuzzhogeʸ»úÎó) :- atomic_list_concat([A,B,C],_FizzBuzzhogeʸ»úÎó). »°¤Ä¤Î¥ê¥¹¥È¤Îº¸¥·¥Õ¥È([A|R1],[B|R2],[C|R3],L1,L2,L3) :- append(R1,[A],L1), append(R2,[B],L2), append(R3,[C],L3). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fizzbuzz(_¤Þ¤Ç) :- fizzbuzz([],_¤Þ¤Ç,¤¢¤È¤Õ¤¿¤Ä,¤¢¤È¤è¤Ã¤Ä). fizzbuzz(L1,_¤Þ¤Ç,_,_) :- length(L1,_¤Þ¤Ç),!. fizzbuzz(L1,_¤Þ¤Ç,_Fizz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_1,_Buzz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_1) :- fizzbuzz_1([_|L1],_Fizz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_1,_Buzz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_1,_Fizz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_2,_Buzz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_2,Y), writef('%t ',[Y]), fizzbuzz([_|L1],_¤Þ¤Ç,_Fizz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_2,_Buzz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_2). fizzbuzz_1(_,¤Ê¤¤¤è,¤Ê¤¤¤è,¤¢¤È¤Õ¤¿¤Ä,¤¢¤È¤è¤Ã¤Ä,'FizzBuzz'). fizzbuzz_1(_,¤Ê¤¤¤è,_Buzz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_1,¤¢¤È¤Õ¤¿¤Ä,_Buzz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_2,'Fizz') :- ¤Ò¤È¤Ä¸º¤é¤¹¤è(_Buzz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_1,_Buzz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_2). fizzbuzz_1(_,_Fizz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_1,¤Ê¤¤¤è,_Fizz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_2,¤¢¤È¤è¤Ã¤Ä,'Buzz') :- ¤Ò¤È¤Ä¸º¤é¤¹¤è(_Fizz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_1,_Fizz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_2). fizzbuzz_1(L1,_Fizz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_1,_Buzz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_1,_Fizz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_2,_Buzz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_2,N) :- ¤Ò¤È¤Ä¸º¤é¤¹¤è(_Fizz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_1,_Fizz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_2), ¤Ò¤È¤Ä¸º¤é¤¹¤è(_Buzz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_1,_Buzz¤Þ¤Ç¤¢¤È¤¤¤¯¤Ä_2), length(L1,N). ¤Ò¤È¤Ä¸º¤é¤¹¤è(¤¢¤È¤è¤Ã¤Ä,¤¢¤È¤ß¤Ã¤Ä). ¤Ò¤È¤Ä¸º¤é¤¹¤è(¤¢¤È¤ß¤Ã¤Ä,¤¢¤È¤Õ¤¿¤Ä). ¤Ò¤È¤Ä¸º¤é¤¹¤è(¤¢¤È¤Õ¤¿¤Ä,¤¢¤È¤Ò¤È¤Ä). ¤Ò¤È¤Ä¸º¤é¤¹¤è(¤¢¤È¤Ò¤È¤Ä,¤Ê¤¤¤è). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ͤ(_¾æ) :- ¹»([],_¾æ,ÀÙ,µù). ¹»(_Τ,_¾æ,_,_) :- length(_Τ,_¾æ),!. ¹»(_Τ,_¾æ,_Éô,_¶÷) :- ´¥([_|_Τ],_Éô,_¶÷,_ÎÁ,_´ª,_¸ø), writef('%t ',[_¸ø]), ¹»([_|_Τ],_¾æ,_ÎÁ,_´ª). ´¥(_,·ú,·ú,ÀÙ,µù,'FizzBuzz'). ´¥(_,·ú,_¶÷,ÀÙ,_´ª,'Fizz') :- Áõ(_¶÷,_´ª). ´¥(_,_ȯ,·ú,_Åã,µù,'Buzz') :- Áõ(_ȯ,_Åã). ´¥(_Τ,_ȯ,_¶÷,_Åã,_´ª,_ÏÀ) :- Áõ(_ȯ,_Åã), Áõ(_¶÷,_´ª), length(_Τ,_ÏÀ). Áõ(µù,µ¹). Áõ(µ¹,ÀÙ). Áõ(ÀÙ,½µ). Áõ(½µ,·ú). % % ½Ò¸ì̾¡¢ÊÑ¿ô¤«¤é¥·¥ó¥Ü¥ëÀ¤ò½üµî¤·¤¿½Ò¸ìÄêµÁ¡£ % °ì¤Ä¾å¤ÎFizzBuzzÄêµÁ¤Î½Ò¸ì̾¤ÈÊÑ¿ô̾¤ò̵ºî°Ù¤ËÁ´³Ñ´Á»ú¤ò % °ú¤¤¤Æ¤¤ÆÃÖ¤´¹¤¨¤¿¡£¥×¥í¥°¥é¥ß¥ó¥°¤Ë¤Ï¤³¤¦¤¤¤¦°ìÌ̤¬¾ï¤Ë % ¿¾¯¤Ï¤¢¤ë¡£ % %%%%%%% ¥Ç¥¹¥Þ¥³¥í¥·¥¢¥à(5) fizzbuzz¤òFIZZBUZZ¤Èɽµ¤¹¤ë(1) %%%%%%%%%%% fizzbuzz(M) :- fizzbuzz(0,M,[_,_],[_,_,_,_],L), atomic_list_concat(L,A), write(A). fizzbuzz(M,M,_,_,[]). fizzbuzz(N,M,L1,L2,[A|R3]) :- succ(N,N_2), dt(N_2,L1,L2,R1,R2,A), fizzbuzz(N_2,M,R1,R2,R3). dt(_,[],[],[_,_],[_,_,_,_],'FIZZBUZZ') :- !. dt(_,[],[_|R],[_,_],R,fizz) :- !. dt(_,[_|R],[],R,[_,_,_,_],buzz) :- !. dt(N,[_|R1],[_|R2],R1,R2,N). %%%%%%% ¥Ç¥¹¥Þ¥³¥í¥·¥¢¥à(5) fizzbuzz¤òFIZZBUZZ¤Èɽµ¤¹¤ë(2) %%%%%%%%%%% fizzbuzz(N) :- N_1 is (N - 1) // 15 + 1, findall([_,_,'fizz',_,'buzz','fizz',_,_,'fizz','buzz',_,'fizz',_,_,'FIZZBUZZ'],between(1,N_1,_),LL), flatten(LL,L1), forall((nth1(_nth1,L1,U),_nth1 =< N,(_nth1=U;atom(U))),writef('%t',[U])). %%%%%%% ¥Ç¥¹¥Þ¥³¥í¥·¥¢¥à(5) fizzbuzz¤òFIZZBUZZ¤Èɽµ¤¹¤ë(3) %%%%%%%%%%% fizzbuzz(N) :- N_1 is (N - 1) // 15 + 1, findall([_,_,'fizz',_,'buzz','fizz',_,_,'fizz','buzz',_,'fizz',_,_,'FIZZBUZZ'],between(1,N_1,_),LL), flatten(LL,L), ɽ¼¨(N,L). ɽ¼¨(N,L) :- nth1(_nth1,L,U), ɽ¼¨ÁªÂò(_nth1,U), writef('%t',[U]), _nth1=N. ɽ¼¨ÁªÂò(_nth1,_nth1). ɽ¼¨ÁªÂò(_,U) :- atom(U). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % ºÇ¾®Ê¸»ú¿ô¤ò¶¥¤Ã¤Æ¤ß¤è¤¦(¸½ºß 147»ú) % fizzbuzz(N):-between(1,N,M),put(32),g(M,S),write(S),M=N. g(M,'Fizz'):-m(M,3). g(M,'Buzz'):-m(M,5). g(M,M):- \+m(M,3),\+m(M,5). m(M,N):-0=:=M mod N. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % ½Ò¸ì̾fizzbuzz¤òf¤Ë¤·¤ÆÎɤ¤¤Ê¤é 140»ú (twitter¤Î1twit¸ÂÅÙʸ»ú¿ô) % f(N):-between(1,N,M),put(32),g(M,S),write(S),M=N. g(M,'Fizz'):-m(M,3). g(M,'Buzz'):-m(M,5). g(M,M):- \+m(M,3),\+m(M,5). m(M,N):-0=:=M mod N. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % IF/Prolog (for/3,if/3 ¤ò»È¤Ã¤Æ) % % ½Ò¸ì̾fizzbuzz¤òf¤Ë¤·¤ÆÎɤ¤¤Ê¤é 82»ú % f(M):-for(1,N,M),nl,if((1>N mod 3,A=fizz;1>N mod 5,A=buzz),write(A),write(N)),MN mod 3,A=fizz;1>N mod 5,A=buzz),write(A))->write(N)),M