hijouguchiの日記

2008-06-23

eとかπとか計算させてみた

| 23:00 | はてなブックマーク - eとかπとか計算させてみた - hijouguchiの日記

 まずeを計算。eは\lim_{n \to \infty} (1 + \frac{1}{n})^nで計算されます。これをrubyで書いただけ。

print "nの値を入力して下さい"
n = gets.chop.to_i
p (1.0 + 1.0/n) ** n 

nは無限大にすることが出来ないので、好きなだけ大きな数字にすればeに近似されます。

n = 10000000で2.718281くらいまでは近似できます。

 次にπを計算。wikipediaを参考に。

円周率 - Wikipedia

#注意:意図的に無限ループさせてるので^Cでキャンセルして下さい。

pi_4 = 0
n = 0
while  true
	pi_4 += ((-1.0) ** n) / (2.0 * n + 1.0)
	p pi = 4 * pi_4
	n += 1
end

10秒くらい走らせると3.1415くらいまでは安定します。

 πの計算の方があまりよい精度が出ないですね。

2008-05-23

2chのdat取得(とりあえず版)

14:59 | はてなブックマーク - 2chのdat取得(とりあえず版) - hijouguchiの日記

 定期的にdat取得できたら便利だななんて思ったので書いてみた。とりあえず版なのでおかしいところがあったら遠慮せずに突っ込んで下さい。むしろ突っ込んでくれれば勉強になるし...。


require 'net/http'
require 'nkf'
$KCODE = "shift-jis"
Net::HTTP.version_1_2 

class Get_2ch

	def initialize(urls)
		@urls = urls
		
		if urls =~ /http:\/\/.*\.2ch.net\/test\/read.cgi\//

			get_url = $&
			get_bottom = $'
	
			if get_url =~ /http:\/\//
		
				if $' =~ /\/test\/read.cgi\//
					@domain = $`
				end
			end

			if get_bottom =~ /\//
				@board = $`
		
				if $' =~ /\//
					@threads = $`
				end
			end
		end
	end
	
	def get_dat
		
		dat_url = "/" + @board + "/dat/" + @threads + ".dat"

		Net::HTTP.start(@domain, 80) {|http|
			response = http.get(dat_url)
			@dat  = NKF.nkf('-w', response.body)
		}
	
		#return @dat
	end
	
	def get_title
	
		colum = @dat.split("\n")
		text = colum[0].split("<>")
		@thread_title = text[text.size.to_i - 1]
		
	end
	
	def make_dat

		dat_title = @thread_title + ".dat"
		file = open(dat_title, "w")
		file.write @dat
		file.close
	end
end


print "スレッドURLを入力して下さい。\n"
urls = gets.chop

dat = Get_2ch.new(urls)
dat.get_dat
dat.get_title
dat.make_dat

スレッド名の取得でちょっと困ってたけど、結構ごまかしてみた。

2008-04-09

RSS

| 19:33 | はてなブックマーク - RSS - hijouguchiの日記

 とりあえずRSSを作成するプログラムを作ってみたのはいいけど、どうやってアクセスしたときに作成してくれるようにするかが分からない。railsからネットワークプログラムにしてどこかで実装すればいいのかな...。

TammyTammy2013/01/14 17:52Always refreshing to hear a raitanol answer.

xecyvtqtonxecyvtqton2013/01/15 01:10wt3QSZ <a href="http://ixztlrlyqfar.com/">ixztlrlyqfar</a>

vgqqdcenxtvgqqdcenxt2013/01/15 23:26P8Ighj , [url=http://mohtsgdmxrfd.com/]mohtsgdmxrfd[/url], [link=http://uxkftfqkxick.com/]uxkftfqkxick[/link], http://zakhuyhzyeil.com/