[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 02/02 05:23 / Filesize : 462 KB / Number-of Response : 749
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

いろんな言語で宿題スレ 第三編



1 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 09:57:19 ]
第二編も512Kbyte越えで終了しました。
前スレで未解決な課題は順次このスレにコピーします。

739 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 16:10:29 ]
pc12.2ch.net/test/read.cgi/tech/1263824755/713
# HPはどのページも3クリック以内でたどり着けるのが良いとされています。
# さて問題です。どのページからも、すべてのページへこの条件を満たすようにするには
# 各ページにリンクはいくつ必要でしょうか。
# link(n)をページnのリンク数としたとき min { link(n) } を決定するという問題です。
# ページ数は、1000から1万の任意の値が与えられる物とします。


740 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 20:46:28 ]
>>739
// F#

// click : 最大クリック数、page : 全ページ数
let minLink click page =
    Seq.initInfinite id
    |> Seq.find (fun x -> List.sumBy (pown x) [0 .. click] >= page)

741 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 23:11:30 ]
>>729
// F#

open System.Text.RegularExpressions

let paternal last =
    use client = new System.Net.WebClient()
    let rec paternal' url =
        seq {
            let page = "www.jbis.or.jp" + url + "pedigree/" |> client.DownloadString
            let firstRow = Regex.Match(page, @"<tr>(.+?)</tr>", RegexOptions.Singleline).Groups.[1].Value
            let horses = Regex.Matches(firstRow, @"<(?:td|th).*?><a href=""(.+?)"">(.+?)</a>")
                        |> Seq.cast<Match> |> Seq.map (fun m -> (m.Groups.[1].Value, m.Groups.[2].Value))
                        |> Seq.cache
            yield! Seq.map snd horses
            yield! Seq.nth (Seq.length horses - 1) horses |> fst |> paternal' }
    let horses = paternal' "/horse/0000742976/" |> Seq.cache
    Seq.take (Seq.findIndex ((=) last) horses + 1) horses

paternal "Eclipse" |> Seq.iter (printfn "%s")

742 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 08:23:18 ]
# 以下は「中世の秋」ホイジンガ/堀越孝一訳(中公文庫による)の冒頭ちかくの段落です。
# ここにあらわれる文章をプログラム言語で書き換えなさい。
#
#  夏と冬の対照は、わたしたちの経験からはとても考えられないほど強烈だったが、
# 光と闇、静けさと騒がしさとの対照もまた、そうだったのである。現在、都市に住む
# 人びとは、真の暗闇、真の静寂を知らない。ただひとつまたたく灯、遠い一瞬の叫ぶ
# 声がどんな感じのものかを知らない。

743 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 15:08:26 ]
pc12.2ch.net/test/read.cgi/tech/1255277760/82
# [1] 授業単元:
# [2] 問題文(含コード&リンク):
#
# 一次方程式y=a*x+bにおいて、A[x1,y1]とB[x2,y2]が与えられた時、
# 方程式の係数a,bを求めよ。
# x1 y1: 450 454.4
# x2 y2: 452 454.8
# y=0.2*x+364.4


744 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 16:33:23 ]
>>743
使用言語:J

x1=:450
y1=:454.4
x2=:452
y2=:454.8
(y1,y2)%.2 2$x1,1,x2,1
0.2 364.4

745 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:35:05 ]
>>743
% Prolog

'一次方程式y=ax+bの二点[x1,y1][x2,y2]から係数a,bを求める'(X1,Y1,X2,Y2,A,B) :-
  A is (Y1 - Y2) / (X1 - X2),
  B is Y1 - (A * X1).

746 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 21:27:49 ]
>>709
使用言語:Clojure

user=> (def A ["あいうえお","かきくけこ","さしすせそ","たちつてと","なにむねの"])
#'user/A
user=> (defn f [x] (x (int(* (Math/random)(.length x)))))
#'user/f
user=> (f A)
"たちつてと"
user=> (f A)
"かきくけこ"

747 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 06:21:56 ]
>>742
% Prolog 第二節目は
# 人びとは、真の暗闇、真の静寂を知らない。ただひとつまたたく灯、遠い一瞬の叫ぶ
# 声がどんな感じのものかを知らない。

知らない(人びと,_何かを) :-
  知らない(_何かを).

知らない(_暗闇) :-
  真の暗闇(_暗闇).
知らない(_静寂) :-
  真の静寂(_静寂).

知らない(人びと,_何かの,_感じ) :-
  感じ(_何かの,_感じ).

感じ(_またたく灯) :-
  またたく灯(_またたく灯),
  ただひとつ(_またたく灯).
感じ(_叫ぶ声) :-
  叫ぶ声(_叫ぶ声),
  遠い(_叫ぶ声),
一瞬の(_叫ぶ声).



748 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 20:17:19 ]
pc12.2ch.net/test/read.cgi/tech/1263824755/746
# [1] 授業単元:
# UNIX C Programming
# [2] 問題文(含コード&リンク):
# ime.nu/kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10541.txt
#
# 下記のコードはUnixコマンドのmoreの低水準バージョンである。
# このmoreにundoの機能を付加しターミナルで使えるようにしたい。
# 例:ファイルの中を'Enter'で1行進み、'UNDO'で1行戻る。
#   'Enter'で1行進み、' '(Space)で1ページ進んだ後、'UNDO'で1ページ元に戻る。
#
# 一案として、/dev/ttyからのinputをarrayの中に残しておき、それを元に作業を一つ戻すことが考えられる。
# 下記のコードはmoreの基本的な機能である、’Enter’で一行前進・’ ’(Space)で一ページ前進を既に盛り込んでいる。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<462KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef