2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Haskellの問題

1 :デフォルトの名無しさん:01/09/20 19:32
ハスケルでこういう問題がでました。

8×8マスでチェスのQueenのような動き
(縦、横、斜めすべていける)の駒を1行目から順に置いていく。
8行目までひとつも駒をとられないでいくのは全部で何通りでしょう。

という問題です。だれかこのプログラムを作れる方いらっしゃいますか?
ハスケルを使ってください。わたくしには荷が重過ぎます。

2 :デフォルトの名無しさん:01/09/20 19:35
すいません。
問題の意味がわかりません。

3 :デフォルトの名無しさん:01/09/20 19:43
漏れも意味がわからん・・・。
よくいう8クイーン問題??

このスレは終了して↓のスレに移動しましょう。

関数型プログラミング言語Haskell
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=996131288

4 :デフォルトの名無しさん:01/09/20 19:43
>>1
単発質問スレ立てるな。
宿題を他人にやらせようとするな。
氏ね。

>>2
8-queens 問題って有名だと思うが…。

5 :デフォルトの名無しさん:01/09/20 19:47
>>4そんなの学校で習ってないYO!
(って漏れが高卒だからかもしれんが(w)

6 :デフォルトの名無しさん:01/09/20 19:50
高卒の漏れでもこんなに発見デキターヨ。
http://www.google.com/search?hl=ja&q=8-queens+Haskell&btnG=Google+%8C%9F%8D%F5&lr=lang_ja

7 :デフォルトの名無しさん:01/09/20 19:51
ほれほれ。
queens 0 = [[]]
queens (n+1) = [ q:b | b <- queens n; q <- [0..7]; safe q b ]
safe q b = and [ not checks q b i | i <- [0..(b-1)] ]
checks q b i = q=b!!i || abs(q - b!!i)=i+1

8 :4:01/09/20 20:00
一応>>7に追加
answer = length $ queens 8

>>5
学校では習わないけど有名。

>>7
> [0..7]
すっごい適当というかなんというか…。

9 :デフォルトの名無しさん:01/09/20 20:52
ところで、haskell の宿題出すガッコってどこよ?

10 :あほらし:01/09/20 22:58
これがコピーされて大量に同じレポートが生成されるんだろうなぁ,ハァ….

11 :デフォルトの名無しさん:01/09/21 00:58
ありがとうございました。
無事解決しました。
そこでもう1つお願いします。

魔方陣の問題です。これも有名なのでしょうか。
たとえば3×3のマスに縦、横、斜めそれぞれたすと
すべて同じになる並べ方を探す。

なんかいいサイトみつかりません。

12 :デフォルトの名無しさん:01/09/21 01:00
では、まあ、以降は放置の方向で逝くってことで。

13 :デフォルトの名無しさん:01/09/21 01:45
わたくしの学校まったく解説してくれないんですよ。
プリント配って自分で考えろってかんじです。
当然Haskellのいろはも教えてくれないで
課題が出るんですよ。
だれか勉強するんで教えてください。

14 :デフォルトの名無しさん:01/09/21 01:56
>>13
読め。頑張れ。
http://www.teu.ac.jp/kougi/koshida/Prog6/index.html
http://www.sampou.org/haskell/
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=996131288

15 :デフォルトの名無しさん:01/09/21 02:28
ありがとうございます。
1から勉強してみます。
今のわたくしにはこの課題をやるのは非常に大変そうですが、
いろいろやってみます。

16 :デフォルトの名無しさん:01/09/21 02:38
>>15
というか,こういう問題のときは
まずは内容を理解してアルゴリズムをちゃんと考えなきゃ.
あなたの知っている言語なら実装できるかということ.
Haskellでそれをどうスマートに実装するかはその後の話.

17 :デフォルトの名無しさん:01/09/21 02:55
でも手続き型で書いたのを翻訳するのはどうかなあ..
ハミング列(だっけ?) とかの時に苦労するし。
脳みその構造を切り替えたつもりでカルチャーギャップを味わうのがお勧め。
って、時間がないと大変だけどね!!

18 :デフォルトの名無しさん:01/09/21 03:10
今それができるような人ならそもそもこんな質問の仕方はしないと思われ.
先生もこういう課題を出す時点ではそんなハイレベルの解答は期待してないだろうね.
たぶん手続き型っぽくても自分で考えたものの方がポイント高いよ.

19 :デフォルトの名無しさん:01/09/21 03:23
プログラミング初心者なものでまず何をしていいのか
わかりませんのです。
というよりどのような単元のところをしていいのかとか。
たとえば数学で言うと複素数のところはそれ相応のやりかたが
あるのと同じように今どの単元をやっているのかすら
わからない状態。
授業は”型””Tree”とやっていきなり課題が出たので
そのへんなのかと思いきやさっきの問題はまったく違うし・・・
大変です。

20 :デフォルトの名無しさん:01/09/21 03:27
プログラム初心者に Haskell はキツイよな…
多少はできるものかと思っていたが…
上に出てるテキストもプログラミング初心者向けじゃないようだし…

21 :デフォルトの名無しさん:01/09/21 03:34
>>19
ていうか、その前に2ch初心者丸出し。
真面目にアドバイスするけど、単発質問の糞スレ立てたりする前にもう
ちょっと雰囲気を観察してから書き込んだほうがいいよ。

22 :デフォルトの名無しさん:01/09/21 03:44
はい。すいません。
以後気をつけます。

23 :デフォルトの名無しさん:01/09/21 04:13
>>19
単元,ってところが中高臭いんですが.

24 :デフォルトの名無しさん:01/09/21 04:30
いくら何でも中高で Haskell はやらんだろ。

25 :デフォルトの名無しさん:01/09/21 04:35
よし、手続き型で書いたのを、Monad使って翻訳して
状態バリバリのコードでいけ!!>>1

でも実は手続き型もまだなのね..
教師がドキュンってにおいもしてきたけど、まあ 1の
ドキュンさを疑うほうが妥当だろうな。

多分、クラスのなかの数人はすくすくと関数型プログラマとして
育っていって、「状態って何? なんで変数の値が変わるの?」
とかいうのになって欲しいな。
綺麗な物しか見せない、という教育方法もありうる :-)

7 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)