開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- プログラミング言語: Ruby
『初めてのプログラミング 第2版』(Chris Pine 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-469-9)の 7章(フロー制御), 7.5(練習問題)うるう年 を解いてみる。
その他参考書籍
- 『プログラミング言語 Ruby』David Flanagan, まつもと ゆきひろ 著 、卜部 昌平 監訳、長尾 高弘 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-394-4)
- Rubyクックブック ―エキスパートのための応用レシピ集
うるう年
コード(BBEdit)
sample.rb
#!/usr/bin/env ruby1.9
#-*- coding: utf-8 -*-
print "先頭の年: "
start = gets.chomp.to_i
print "末尾の年: "
stop = gets.chomp.to_i
year = start
while year <= stop
if year % 4 == 0 and (
year % 100 != 0 or year % 400 == 0)
puts year
break
end
year += 1
end
year += 4
while year <= stop
if year % 100 != 0 or year % 400 == 0
puts year
end
year += 4
end
入出力結果(Terminal)
$ ./sample.rb 先頭の年: 2000 末尾の年: 2005 2000 2004 $ ./sample.rb 先頭の年: 1795 末尾の年: 1805 1796 1804 $ ./sample.rb 先頭の年: 1895 末尾の年: 1905 1896 1904 $ ./sample.rb 先頭の年: 1595 末尾の年: 1605 1596 1600 1604 $ ./sample.rb 先頭の年: 1995 末尾の年: 2005 1996 2000 2004 $
ちなみにJavaScriptの場合。
コード(BBEdit)
var start = parseInt($('#y_start').val(), 10),
stop = parseInt($('#y_stop').val(), 10),
year = start,
result = "";
while ( year <= stop ) {
if ( year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0) ) {
result += year + "\n";
break;
}
year += 1;
}
year += 4;
while ( year <= stop ) {
if ( year % 100 !== 0 || year % 400 === 0 ) {
result += year + "\n";
}
year += 4;
}
$('#pre0').text(result);
0 コメント:
コメントを投稿