14/06/07 19:33:16.22 y6RJGWR3
>>876
> その前にダメなんだけど。(:->)
ダメって?
882:デフォルトの名無しさん
14/06/07 19:35:01.70 lO6x1Rj4
>>877 Haskell
subseq2 [] = []
subseq2 (x:xs) = foldr (\y acc -> [x,y] : acc) (subseq2 xs) xs
main = print $ subseq2 "today" -- ["to","td","ta","ty","od","oa","oy","da","dy","ay"]
883:デフォルトの名無しさん
14/06/07 21:19:33.26 uZb6ezHd
>>877
Scheme
;;; 手順1
;;; 文字列strを最初の1文字carと
;;; 2文字目以降の文字列cdrに分ける
;;; 例:"today"
;;; str="today"
;;; car = 't
;;; cdr = "oday"
;;;
;;; 手順2
;;; carと(cdrのn文字目)の組set1を作る
;;; 例 car= 't cdr="oday"
;;; set=("to" "td" "ta" "ty")
;;;
;;; 手順3
;;; strを2文字目以降に更新する
;;; 例 str="today" -> str="oday"
;;;
;;; もしstrの長さが1以下になったらset1が解答
;;; そうでなければset1に(手順1から手順3を
;;; 繰り返してできた組を加えたものが答え)
;;; (再帰させる)
URLリンク(codepad.org)
884:デフォルトの名無しさん
14/06/07 23:27:58.59 fH+IC/Nz
>>877 J
f =: {~4$.[:$.[:</~i.@#
,' ',.f 'mevius'
me mv mi mu ms ev ei eu es vi vu vs iu is us
885:デフォルトの名無しさん
14/06/08 08:26:25.33 W6M7L2Zj
>>877 Prolog
'長さが3文字以上の文字列が与えられたとき、2文字の組合せを求める。'(_文字列,_文字組合せ) :-
sub_atom(_文字列,0,1,_,_文字_1),
sub_atom(_文字列,1,_,0,_文字列_2),
'長さが3文字以上の文字列が与えられたとき、2文字の組合せ'(_文字列_2,_文字_1,_文字組合せ).
'長さが3文字以上の文字列が与えられたとき、2文字の組合せ'(_文字列_2,_文字_1,_文字組合せ) :-
sub_atom(_文字列_2,_,1,_,_文字_2),
atom_concat(_文字_1,_文字_2,_文字組合せ).
'長さが3文字以上の文字列が与えられたとき、2文字の組合せ'(_文字列_2,_,_文字組合せ) :-
'長さが3文字以上の文字列が与えられたとき、2文字の組合せを求める。'(_文字列_2,_文字組合せ).
886:デフォルトの名無しさん
14/06/08 16:48:08.68 R0ABWUTD
>>877
URLリンク(ideone.com)
べたーC。あってるかな?
おまけで逆順検索入れておいた。簡単だったし。
なんか途中で動かないコードに出会って泣いてたが、アドレス計算になってたのかなぁ。
この辺があいまいだな。俺。
887: ◆0qAv26otVI
14/06/08 17:12:46.08 GKqJwll3
重複(同じ2文字)は除く
888:デフォルトの名無しさん
14/06/08 17:17:45.89 R0ABWUTD
>>887
やっといてあれだけど、遅いよ。
問題は正確に作りましょう。仕様書だからねぇ。
889:デフォルトの名無しさん
14/06/08 17:26:59.27 8aybWNLh
>>887
え?
そうなの?
なら書き直すか
890:デフォルトの名無しさん
14/06/08 17:29:35.06 8aybWNLh
確かに今回は異様に簡単な問題だったな
891:デフォルトの名無しさん
14/06/08 17:33:25.88 R0ABWUTD
>>887
同じ2文字というのは、たとえば"aa"という組み合わせはおk?
それとも、"AB"と"BA"が同じ意味ということでNG?
その両方?
892:デフォルトの名無しさん
14/06/08 17:39:01.44 8aybWNLh
>>891
出題者に聞かないとわからないね
"abababab"の場合、どうなりますかあ?
ま、問題が甚だ曖昧だった!かな
893:デフォルトの名無しさん
14/06/08 17:45:09.43 R0ABWUTD
>>892
まぁ、そうだねー。
その例題解いてくれればヒントになるわな。
俺の場合"aa"は許可してるからねぇ。
894: ◆0qAv26otVI
14/06/08 18:01:50.51 GKqJwll3
Not except same character, but except same word.
895:デフォルトの名無しさん
14/06/08 18:03:24.82 8aybWNLh
>>894
ん?出題者?
あれれ?
896:デフォルトの名無しさん
14/06/08 18:09:55.46 R0ABWUTD
>>894
英語読めない情弱に英語で立ち向かってくるとはやるな!!
897:デフォルトの名無しさん
14/06/08 18:12:51.81 R0ABWUTD
えーっと、文字単位では区別しないが、ワード単位では区別するかな。
あってる?
898:デフォルトの名無しさん
14/06/08 18:16:16.90 FvrpJhIi
>>887 Python
from __future__ import print_function
import itertools
def f887(s):
a = ["".join(x) for x in itertools.combinations(s, 2)]
b = []
for x in a:
if x in b: continue
# if x[0] == x[1]: continue
b.append(x)
print("{} -> {}".format(s, " ".join(b)))
f887("today")
f887("abcdcba")
言葉足らずな出題者様の仰せのままに。
899:877
14/06/08 18:28:34.45 6CdOGeRB
>>877 Io
f := method(s,
a := s size - 1
for(i, 0, a - 1,
for(j, i + 1, a,
write(s slice(i, i + 1),s slice(j, j + 1), " ")
)
)
)
Io> f("book")
bo bo bk oo ok ok
>>878 >>887 >>894
は私は関知しません。
組合せの問題も2個に限れば簡単にできるな、という問題のつもりでした。
900:デフォルトの名無しさん
14/06/08 18:41:23.39 R0ABWUTD
ぐあ、便乗だったか。まぁ、いい。
解答は示した。としておこう。
俺の微妙に間違ってるけど、いっか。
901:デフォルトの名無しさん
14/06/08 19:41:38.65 Qs6rCHv1
>>877 Perl
URLリンク(ideone.com)