このディレクトリの索引
#  
#  あなたは既に読んでしまった札を記憶していることにします。
#  現在の自陣にある札のうち、一文字目が決まり字である札は何枚あるでしょうか。
#  


'現在の自陣にある札のうち、一文字目が決まり字である札は何枚あるでしょうか。'(_まだ読んでいない札,_既に読んでしまった札,_自陣にある札ならび,_何枚) :-
自陣の札の上の句の先頭の文字の未出の読み札数(_まだ読んでいない札,_既に読んでしまった札,_自陣にある札ならび,_度数ならび),
目標の度数(member(1,_度数ならび),_何枚).


自陣の札の上の句の先頭の文字の未出の読み札数(_,_,[],[]).
自陣の札の上の句の先頭の文字の未出の読み札数(_まだ読んでいない札,_既に読んでしまった札,[_下の句|R1],[_度数|R2]) :-
下の句から上の句の先頭の文字を得る(_下の句,_上の句の先頭文字),
上の句の先頭の文字の度数を得る(_まだ読んでいない札,_既に読んでしまった札,_上の句の先頭の文字,_度数),
自陣の札の上の句の先頭の文字の未出の読み札数(_まだ読んでいない札,_既に読んでしまった札,R1,R2).


下の句から上の句の先頭の文字を得る(_下の句,_上の句の先頭の文字) :-
百人一首(_歌),
'上の句と下の句'(_歌,_上の句,_下の句),
'上の句の先頭の文字、下の句の先頭の文字'(_歌,_,_,_上の句の先頭の文字,_).


'上の句と下の句'(_歌,_上の句,_下の句) :-
sub_atom(_歌,S,1,R,' '),
sub_atom(_歌,_,R,0,_下の句),
目標の度数(sub_atom(_下の句,_,1,_,' ')),1),
sub_atom(_歌,0,S,_,_上の句).


'上の句の先頭の文字、下の句の先頭の文字'(_歌,_上の句,_下の句,_上の句の先頭の文字,_下の句の先頭の文字) :-
'上の句と下の句'(_歌,_上の句,_下の句),
sub_atom(_上の句,0,1,_,_上の句の先頭の文字),
sub_atom(_下の句,0,1,_,_下の句の先頭の文字).


上の句の先頭の文字の度数を得る(_既に読んでしまった札,_上の句の先頭の文字,_度数) :-
目標の度数(上の句の先頭の文字の(_上の句の先頭の文字),_度数).


上の句の先頭の文字の(_上の句の先頭の文字) :-
百人一首(_歌),
\+(member(_歌,_既に読んでしまった札)),
sub_atom(_歌,0,1,_,_上の句の先頭の文字).


百人一首('あきのたの かりほのいほの とまをあらみ わがころもでは つゆにぬれつつ').
百人一首('はるすぎて なつきにけらし しろたへの ころもほすてふ あまのかぐやま').
百人一首('あしびきの やまどりのをの しだりをの ながながしよを ひとりかもねむ').
百人一首('たごのうらに うちいでてみれば しろたへの ふじのたかねに ゆきはふりつつ').
百人一首('おくやまに もみぢふみわけ なくしかの こゑきくときぞ あきはかなしき').
百人一首('かささぎの わたせるはしに おくしもの しろきをみれば よぞふけにける').
百人一首('あまのはら ふりさけみれば かすがなる みかさのやまに いでしつきかも').
百人一首('わがいほは みやこのたつみ しかぞすむ よをうぢやまと ひとはいふなり').
百人一首('はなのいろは うつりにけりな いたづらに わがみよにふる ながめせしまに').
百人一首('これやこの ゆくもかへるも わかれては しるもしらぬも あふさかのせき').
百人一首('わたのはら やそしまかけて こぎいでぬと ひとにはつげよ あまのつりぶね').
百人一首('あまつかぜ くものかよひぢ ふきとぢよ をとめのすがた しばしとどめむ').
百人一首('つくばねの みねよりおつる みなのがは こひぞつもりて ふちとなりぬる').
百人一首('みちのくの しのぶもぢずり たれゆゑに みだれそめにし われならなくに').
百人一首('きみがため はるののにいでて わかなつむ わがころもでに ゆきはふりつつ').
百人一首('たちわかれ いなばのやまの みねにおふる まつとしきかば いまかへりこむ').
百人一首('ちはやぶる かみよもきかず たつたがは からくれなゐに みづくくるとは').
百人一首('すみのえの きしによるなみ よるさへや ゆめのかよひぢ ひとめよくらむ').
百人一首('なにはがた みじかきあしの ふしのまも あはでこのよを すぐしてよとや').
百人一首('わびぬれば いまはたおなじ なにはなる みをつくしても あはむとぞおもふ').
百人一首('いまこむと いひしばかりに ながつきの ありあけのつきを まちいでつるかな').
百人一首('ふくからに あきのくさきの しをるれば むべやまかぜを あらしといふらむ').
百人一首('つきみれば ちぢにものこそ かなしけれ わがみひとつの あきにはあらねど').
百人一首('このたびは ぬさもとりあへず たむけやま もみぢのにしき かみのまにまに').
百人一首('なにしおはば あふさかやまの さねかづら ひとにしられで くるよしもがな').
百人一首('をぐらやま みねのもみぢば こころあらば いまひとたびの みゆきまたなむ').
百人一首('みかのはら わきてながるる いづみがは いつみきとてか こひしかるらむ').
百人一首('やまざとは ふゆぞさびしさ まさりける ひとめもくさも かれぬとおもへば').
百人一首('こころあてに をらばやをらむ はつしもの おきまどはせる しらぎくのはな').
百人一首('ありあけの つれなくみえし わかれより あかつきばかり うきものはなし').
百人一首('あさぼらけ ありあけのつきと みるまでに よしののさとに ふれるしらゆき').
百人一首('やまがはに かぜのかけたる しがらみは ながれもあへぬ もみぢなりけり').
百人一首('ひさかたの ひかりのどけき はるのひに しづごころなく はなのちるらむ').
百人一首('たれをかも しるひとにせむ たかさごの まつもむかしの ともならなくに').
百人一首('ひとはいさ こころもしらず ふるさとは はなぞむかしの かににほひける').
百人一首('なつのよは まだよひながら あけぬるを くものいづこに つきやどるらむ').
百人一首('しらつゆに かぜのふきしく あきののは つらぬきとめぬ たまぞちりける').
百人一首('わすらるる みをばおもはず ちかひてし ひとのいのちの をしくもあるかな').
百人一首('あさぢふの をののしのはら しのぶれど あまりてなどか ひとのこひしき').
百人一首('しのぶれど いろにいでにけり わがこひは ものやおもふと ひとのとふまで').
百人一首('こひすてふ わがなはまだき たちにけり ひとしれずこそ おもひそめしか').
百人一首('ちぎりきな かたみにそでを しぼりつつ すゑのまつやま なみこさじとは').
百人一首('あひみての のちのこころに くらぶれば むかしはものを おもはざりけり').
百人一首('あふことの たえてしなくは なかなかに ひとをもみをも うらみざらまし').
百人一首('あはれとも いふべき人は 思ほえで 身のいたづらに なりぬべきかな').
百人一首('ゆらのとを わたるふなびと かぢをたえ ゆくへもしらぬ こひのみちかな').
百人一首('やへむぐら しげれるやどの さびしきに ひとこそみえね あきはきにけり').
百人一首('かぜをいたみ いはうつなみの おのれのみ くだけてものを おもふころかな').
百人一首('みかきもり ゑじのたくひの よるはもえ ひるはきえつつ ものをこそおもへ').
百人一首('きみがため をしからざりし いのちさへ ながくもがなと おもひけるかな').
百人一首('かくとだに えやはいぶきの さしもぐさ さしもしらじな もゆるおもひを').
百人一首('あけぬれば くるるものとは しりながら なほうらめしき あさぼらけかな').
百人一首('なげきつつ ひとりぬるよの あくるまは いかにひさしき ものとかはしる').
百人一首('わすれじの ゆくすゑまでは かたければ けふをかぎりの いのちともがな').
百人一首('たきのおとは たえてひさしく なりぬれど なこそながれて なほきこえけれ').
百人一首('あらざらむ このよのほかの おもひでに いまひとたびの あふこともがな').
百人一首('めぐりあひて みしやそれとも わかぬまに くもがくれにし よはのつきかな').
百人一首('ありまやま ゐなのささはら かぜふけば いでそよひとを わすれやはする').
百人一首('やすらはで ねなましものを さよふけて かたぶくまでの つきをみしかな').
百人一首('おほえやま いくののみちの とほければ まだふみもみず あまのはしだて').
百人一首('いにしへの ならのみやこの やへざくら けふここのへに にほひぬるかな').
百人一首('よをこめて とりのそらねは はかるとも よにあふさかの せきはゆるさじ').
百人一首('いまはただ おもひたえなむ とばかりを ひとづてならで いふよしもがな').
百人一首('あさぼらけ うぢのかはぎり たえだえに あらはれわたる せぜのあじろぎ').
百人一首('うらみわび ほさぬそでだに あるものを こひにくちなむ なこそをしけれ').
百人一首('もろともに あはれとおもへ やまざくら はなよりほかに しるひともなし').
百人一首('はるのよの ゆめばかりなる たまくらに かひなくたたむ なこそをしけれ').
百人一首('こころにも あらでうきよに ながらへば こひしかるべき よはのつきかな').
百人一首('あらしふく みむろのやまの もみぢばは たつたのかはの にしきなりけり').
百人一首('さびしさに やどをたちいでて ながむれば いづこもおなじ あきのゆふぐれ').
百人一首('ゆふされば かどたのいなば おとづれて あしのまろやに あきかぜぞふく').
百人一首('おとにきく たかしのはまの あだなみは かけじやそでの ぬれもこそすれ').
百人一首('たかさごの をのへのさくら さきにけり とやまのかすみ たたずもあらなむ').
百人一首('うかりける ひとをはつせの やまおろしよ はげしかれとは いのらぬものを').
百人一首('ちぎりおきし させもがつゆを いのちにて あはれことしの あきもいぬめり').
百人一首('わたのはら こぎいでてみれば ひさかたの くもゐにまがふ おきつしらなみ').
百人一首(' せをはやみ いはにせかるる たきがはの われてもすゑに あはむとぞおもふ').
百人一首('あはぢしま かよふちどりの なくこゑに いくよねざめぬ すまのせきもり').
百人一首('あきかぜに たなびくくもの たえまより もれいづるつきの かげのさやけさ').
百人一首('ながからむ こころもしらず くろかみの みだれてけさは ものをこそおもへ').
百人一首('ほととぎす なきつるかたを ながむれば ただありあけの つきぞのこれる').
百人一首('おもひわび さてもいのちは あるものを うきにたへぬは なみだなりけり').
百人一首('よのなかよ みちこそなけれ おもひいる やまのおくにも しかぞなくなる').
百人一首('ながらへば またこのごろや しのばれむ うしとみしよぞ いまはこひしき').
百人一首('よもすがら ものおもふころは あけやらで ねやのひまさへ つれなかりけり').
百人一首('なげけとて つきやはものを おもはする かこちがほなる わがなみだかな').
百人一首('むらさめの つゆもまだひぬ まきのはに きりたちのぼる あきのゆふぐれ').
百人一首('なにはえの あしのかりねの ひとよゆゑ みをつくしてや こひわたるべき').
百人一首('たまのをよ たえなばたえね ながらへば しのぶることの よわりもぞする').
百人一首('みせばやな をじまのあまの そでだにも ぬれにぞぬれし いろはかはらず').
百人一首('きりぎりす なくやしもよの さむしろに ころもかたしき ひとりかもねむ').
百人一首('わがそでは しほひにみえぬ おきのいしの ひとこそしらね かわくまもなし').
百人一首('よのなかは つねにもがもな なぎさこぐ あまのをぶねの つなでかなしも').
百人一首('みよしのの やまのあきかぜ さよふけて ふるさとさむく ころもうつなり').
百人一首('おほけなく うきよのたみに おほふかな わがたつそまに すみぞめのそで').
百人一首('はなさそふ あらしのにはの ゆきならで ふりゆくものは わがみなりけり').
百人一首('こぬひとを まつほのうらの ゆふなぎに やくやもしほの みもこがれつつ').
百人一首('かぜそよぐ ならのをがはの ゆふぐれは みそぎぞなつの しるしなりける').
百人一首('ひともをし ひともうらめし あぢきなく よをおもふゆゑに ものおもふみは').
百人一首('ももしきや ふるきのきばの しのぶにも なほあまりある むかしなりけり').



目標の度数(_目標,_度数) :-
findall(1,_目標,L),
length(L,_度数).