Entries from 2013-01-01 to 1 year

プログラミングHaskell 第7章の練習問題

import Data.Char type Bit = Int -- リスト内包表現(list comprehension)[f x | x <- xs, p x]を高階関数で書きなおす lcomp :: (a -> b) -> (a -> Bool) -> [a] -> [b] lcomp f p xs = map f (filter p xs) all' :: (a -> Bool) -> [a] -> Bool all' p = a…

【Haskell】mapとfilterをfoldrで書く

map関数というのは、関数fとリスト[x0, x1, x2, ...]を引数にとって、[f x0, f x1, f x2, ...]を返す関数です。 filter関数というのは、関数pとリストLを引数にとって、Lの要素xiにpを作用させたものp xiがTrueのものだけを集めたリストL'を返す関数です。ま…

Haskellの関数foldrの型について

sum :: Num a => [a] -> a sum [] = 0 sum (x : xs) = (+) x (sum xs) sum = foldr (+) 0 --よって foldr :: (a -> b -> b) -> a -> [a] -> b --sumの場合はb=aだけど、b /= aのときってどんなとき? --そうだlengthを考えてみよう length :: [a] -> Int leng…

プログラミングHaskell 第6章の練習問題

{-# LANGUAGE NPlusKPatterns #-} import Data.Char pow :: Int -> Int -> Int pow a 0 = 1 pow a (n + 1) = pow a n * a myLength :: [a] -> Int myLength [] = 0 myLength (x:xs) = 1 + myLength xs myDrop :: Int -> [a] -> [a] myDrop 0 xs = xs myDrop …

Haskellでマージソート

merge :: Ord a => [a] -> [a] -> [a] merge [] xs = xs merge xs [] = xs merge (x:xs) (y:ys) | x <= y = x : merge xs (y:ys) | otherwise = y : merge (x:xs) ys halve :: [a] -> ([a], [a]) halve xs = (take n xs, drop n xs) where n = length xs `di…

プログラミングHaskell 第5章の練習問題

import Data.Char --2乗の和 sumsqr :: Int -> Int sumsqr n = sum [i^2 | i <- [1..n]] --ある要素のみからなるリストを生成する myReplicate :: Int -> a -> [a] myReplicate n x = [x | i <- [1..n]] --ピタゴラス数のリストを生成する pyths :: Int -> […

sshdの設定

sudo apt-get install ssh sudo vi /etc/ssh/sshd_config PermitRootLoginをnoに設定 sudo vi /etc/hosts.allow sshd: ALLを追加

xサーバが起動しなくなったと思ったら

仕事でsimvisionという波形ソフトを使っている。 teratermをアンインストールして、再びインストールしたら、simvisionで画面が表示されなくなった。 xサーバとしては、xmingを利用していた。原因はteratermの設定にあった。 teratermをアンインストールした…

Haskellでシーザー暗号

--指定文字の個数を数える関数 count :: Char -> String -> Int count c xs = length [c'| c' <- xs, c' == c] --小文字を整数に変換する関数 let2int :: Char -> Int let2int c = ord c - ord 'a' --整数を小文字に変換する関数 int2let :: Int -> Char int…

意味不明な意味のあるものについて

駅のホームで待っていると、線路わきのコンクリートに、白いチョークで不思議な模様が書かれているのを発見した。四角や丸や直線が複雑に絡み合った模様だ。僕は、それは誰かが真面目に描いたものだと感じた。しかも、ある種の高度な知性がそれを描いたと感…

Haskellで位置をリストにする

--位置をリストにする関数 --positions 1 [3, 2, 1, 3, 1]の値は[2, 4] positions :: Eq a => a -> [a] -> [Int] positions x xs = [j| (i, j) <- zip xs [0..n], i == x] where n = length xs - 1

Haskellで素数を調べる

--約数を調べる関数 factors::Int->[Int] factors n = [x | x <- [1..n], n `mod` x == 0] --素数かどうか判定する関数 prime::Int->Bool prime n = factors n == [1, n] --指定された数までの素数を調べる関数 primes::Int->[Int] primes n = [x | x <- [2.…

you20131017r2

you20131017r1

you20131017

you20131015r3

you20131015r2

you20131015r1

you20131015

20131014r2

20131014r1

you20131014

you20131013

善とはなにか

徹夜勤務から帰ってきて、一眠りした後の朦朧とした頭に、なにか、もやもやとしたものが浮かび上がって来た。徹夜勤務などという不毛なものが僕にもたらしてくれたもの。 そもそもなぜ僕が徹夜しなければならなかったのか。それは、業務が遅延しており、顧客…

NICHIJO- Peanuts

Perlでマージソート

use strict; use warnings; my @sample; for(my $i=0; $i<100; $i++){ push @sample, int(rand 100); } merge_sort(\@sample, 0, @sample-1); foreach my $item (@sample){ print "$item\n"; } sub merge{ my ($A, $p, $q, $r) = @_; my $n1 = $q-$p+1; my $…

不動産屋について

こんばんは。今日は、彼女と不動産屋に行ってきました。9月くらいには一緒に住みたいなと思っています。いろいろ物件を紹介されたのですが、いまいちよくわかりません。だいたいどのアパートも部屋の間略図と何帖というのが書いてあって、よくわかりません。…

Skuli Sverrisson

Lisp

(defun my-length (list) (if list (1+ (my-length (cdr list))) 0))

生物と無生物のあいだ

特徴をもたないもの。役に立たないもの。意味のないもの。 こういったものは身の回りにたくさんある。しかし、本当にそれらは、特徴のないもの、役に立たないもの、意味のないもの、なのだろうか。 時間の概念を忘れてものごとを考えることが多い。なぜ時間…