This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Collatz | |
def init(i) | |
buf = [i] | |
while i != 1 | |
if (i % 2) == 0 | |
i = i / 2 | |
else | |
i = i * 3 + 1 | |
end | |
buf << i |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[1, 2, 3, 4, 5].each do |i| | |
p i * 2 | |
end | |
#2 | |
#4 | |
#6 | |
#8 | |
#10 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Collatz | |
def init(i) | |
buf = [i] | |
while i != 1 | |
if (i % 2) == 0 | |
i = i / 2 | |
else | |
i = i * 3 + 1 | |
end | |
buf << i |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Collatz | |
def init(i) | |
buf = [i] | |
while i != 1 | |
if (i % 2) == 0 | |
i = i / 2 | |
else | |
i = i * 3 + 1 | |
end | |
buf << i |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def collatz(arg) | |
if arg.kind_of?(Integer) | |
arg = [arg] | |
elsif arg[-1] == 1 | |
return [arg.size - 1, "[#{arg.join(', ')}]"] | |
end | |
if (arg[-1] % 2) == 0 | |
collatz(arg << arg[-1] / 2) | |
else |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def collatz(arg): | |
if type(arg) == int: | |
arg = [arg] | |
elif arg[-1] == 1: | |
# print arg => [10, 5, 16, 8, 4, 2, 1] | |
return arg | |
if arg[-1] % 2 == 0: | |
arg.append(arg[-1] / 2) | |
collatz(arg) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# [問題 6.2] | |
# * 文字列を,a ならば z,b ならば y,c ならば x のように,小文字も大文字もアルファベットの逆順の出現文字に置き換えるプログラムを作りなさい. | |
# http://www.aoni.waseda.jp/ichiji/2009/second-term/ruby-06-1.html | |
def reverse(s) | |
alphabet = ('a'..'z').to_a | |
if alphabet.index(s).nil? | |
alphabet[alphabet.size - alphabet.index(s.downcase)].upcase | |
else | |
alphabet[alphabet.size - alphabet.index(s)] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# [問題 6.3] | |
# * 文字列が与えられたとき,アルファベットを大文字,小文字を区別せずに出現頻度順に小文字で並べた文字列を返すプログラムを作りなさい. | |
# http://www.aoni.waseda.jp/ichiji/2009/second-term/ruby-06-1.html | |
def freq(str) | |
h = {} | |
str.downcase.each_byte do | s | | |
if h.has_key?(s.chr) | |
h[s.chr] = h[s.chr] + 1 | |
else |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# [問題 6.1] | |
# シーザー暗号の暗号化,複合化を行うプログラムを作りなさい. | |
# http://www.aoni.waseda.jp/ichiji/2009/second-term/ruby-06-1.html | |
# irb(main):122:0> string2 = caesar(string,3) | |
# => "Lq fubswrjudskb, d Fdhvdu flskhu, dovr nqrzq dv d Fdhvdu'v flskhu, wkh vkliw flskhu, Fdhvdu'v frgh ru Fdhvdu vkliw, | |
# lv rqh ri wkh vlpsohvw dqg prvw zlghob nqrzq hqfubswlrq whfkqltxhv." | |
# irb(main):123:0> caesar(string2,-3) | |
# => "In cryptography, a Caesar cipher, also known as a Caesar's cipher, the shift cipher, Caesar's code or Caesar shift, | |
# is one of the simplest and most widely known encryption techniques." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
trash=$HOME/trash | |
if [ ! -d $trash ] | |
then | |
mkdir -p $trash | |
fi | |
for i | |
do |