とにかく進むねん。
勉強サークルのブログです。 もがきながらでも進むこと。 これがモットーです。
ブログ内検索
リンク
管理画面
新しい記事を書く
カレンダー
03
2025/04
05
S
M
T
W
T
F
S
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
アーカイブ
2012 年 12 月 ( 3 )
2012 年 11 月 ( 11 )
2012 年 10 月 ( 4 )
2012 年 09 月 ( 5 )
2012 年 08 月 ( 4 )
プロフィール
HN:
betweens
性別:
非公開
カウンター
カテゴリー
宿題 ( 10 )
colinux 設定 ( 16 )
colinux network設定 ( 4 )
検索エンジン付き合い方 ( 9 )
C++ ( 2 )
未選択 ( 102 )
shell script ( 1 )
code golf ( 66 )
Haskell ( 14 )
Python Challenge ( 2 )
Project Euler ( 2 )
Python Study ( 3 )
英語 ( 1 )
JAVA ( 3 )
ゴミ情報 ( 1 )
RSS
RSS 0.91
RSS 1.0
RSS 2.0
最新CM
無題
[11/07 betweens]
無題
[11/07 元左席人]
無題
[08/30 betweens]
無題
[08/30 元左席人]
無題
[10/02 元左席人]
最新TB
最新記事
anarchy golf (Haskell) [Number lines]
(12/13)
anarchy golf (Haskell) [spirals] 【Vol.4】
(12/06)
anarchy golf (Haskell) [ two kinds of digit ] 読解
(12/05)
anarchy golf (Haskell) [Reduce fractions]
(11/13)
anarchy golf (Haskell) [Fill in the blanks]
(11/11)
最古記事
宿題 [2008.01a] colinux をインストールしよう
(05/10)
[2008.01a] colinux をインストールしよう(解答編1)
(05/15)
[2008.01a] colinux をインストールしよう(解答編2)
(05/17)
[2008.01a] colinux をインストールしよう(解答編3)
(05/18)
Google のノウハウ
(05/19)
フリーエリア
2025
04,02
11:38
[PR]
CATEGORY[]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
2012
12,13
21:26
anarchy golf (Haskell) [Number lines]
CATEGORY[未選択]
【修正1】 65バイト
main=interact$(\t->unlines[show n++' ':s|(n,s)<-zip[1..]t]).lines
あと 11バイト縮められるとか、ちょっと想像つかないけど、うーん。
【修正2】 55バイト
main=f 1;f n=do l<-getLine;putStrLn$show n++' ':l;f$n+1
こちらも、別の問題の模範解答から ノウハウゲット。
あと 1バイトは、もう分からない...
PR
コメント[0]
2012
12,06
21:58
anarchy golf (Haskell) [spirals] 【Vol.4】
CATEGORY[未選択]
【修正前】 166バイト
main=do a:b:c:d<-getLine;read(a:[b])%read d
a%b=mapM putStrLn[["-+|"!!((x-a-max(1-y)(y-b))#(min(b+1-y)(max(y-1)1)-x))|x<-[1..a]]|y<-[1..b]]
a#b|a>0||b>0=2|1>0=0^(a*b)
【修正1】 165バイト
r=read
main=getLine>>=f.reads
f[(a,x:b)]=mapM putStrLn[["-+|"!!((x-a-max(1-y)(y-r b))#(min(r b+1-y)(max(y-1)1)-x))|x<-[1..a]]|y<-[1..r b]]
a#b|a>0||b>0=2|1>0=0^(a*b)
reads 関数の使い方がようやく分かってきたので、縮めることが出来た。
しかし、1バイトしか縮まないとは...
【修正2】 162バイト
main=getLine>>=f.reads
f[(a,p:q)]|b<-read q=mapM putStrLn[["-+|"!!((x-a-max(1-y)(y-b))#(min(b+1-y)(max(y-1)1)-x))|x<-[1..a]]|y<-[1..b]]
a#b|a>0||b>0=2|1>0=0^(a*b)
read した値を代入する結果は真って言えば、縮められるわけか。
別問題の模範解答から、ノウハウゲット!!
しかし、そろそろ限界かなあ
コメント[0]
2012
12,05
06:34
anarchy golf (Haskell) [ two kinds of digit ] 読解
CATEGORY[未選択]
【模範解答】 63バイト
import List
main=mapM print[n|n<-[1..10^4],[_,_]<-[nub$show n]]
リスト [_,_] に吐かせることで、プログラムが 長さ2のデータをフィルターしてくれるとは
予想もつかなかった。。。
正直、ゴルフコードを読んでも、難解で 理解出来ないことが多いので、
今回のは 少し理解が進んで 良かったと思ふ。
コメント[0]
2012
11,13
19:47
anarchy golf (Haskell) [Reduce fractions]
CATEGORY[未選択]
【初稿】 119バイト
m@main=getLine>>=putStrLn.g.map read.words.f>>m
f('/':s)=' ':s
f(x:s)=x:f s
a%b=show$div a$gcd a b
g[a,b]=a%b++"/"++b%a
もはや、ゴルフでも何でもない。 と思われる。
きっと強い人が縮めてくれるだろう。 と思われる。
コメント[0]
2012
11,11
22:33
anarchy golf (Haskell) [Fill in the blanks]
CATEGORY[code golf]
【初稿】 86バイト
main=interact$f.lines
f(w:x)=w%unlines x
[]%s=s
(a:s)%(b:t)|b=='_'=a:s%t|1>0=b:(a:s)%t
トップと天と地の差になってしまった。
しかし、解くことに意義を見出しているので、これでいいんだ!!と自分をだましてみる。
コメント[0]
|
HOME
|
次のページ
>>
忍者ブログ
[PR]