プログラミングのお題スレ Part3at TECH
プログラミングのお題スレ Part3 - 暇つぶし2ch881:デフォルトの名無しさん
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)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch