今日のそすうのそうす
見ればわかると思いますが、その日の年月日時分秒をそのまま並べた時に素数になる組み合わせを求めるアレです。
#素数になるか判定するメソッド def is_prime(n) if n%2 == 0 #奇数だけで行きたいため2は別個 return false end max = Math.sqrt(n).to_i m = 3 while m <= max if n%m == 0 return false else m += 2 end end return true end =begin このへんはテスト for n in 3..100 if is_prime(n) puts n.to_i end end =end #以下、今日が素数になるか判定 require "date" today = Date.today md = today.month * 100 + today.day #月日 ymd = today.year * 10000 + md #年月日 if is_prime(md) puts "今日" + md.to_i + "は素数です" end if is_prime(ymd) puts "今日" + ymd.to_i + "は素数です" end puts "\a" hour = 0 a = b = c = d = 0 while hour <= 23 minute = 0 while minute <= 59 second = 0 while second <= 59 mdHMs = 1000000*md + hour*10000 + minute*100 + second ymdHMs = 1000000*ymd + hour*10000 + minute*100 + second if is_prime(mdHMs) puts "今日#{hour}時#{minute}分#{second}秒の#{mdHMs}は素数です" a += 1 end if is_prime(ymdHMs) puts "今年の今日#{hour}時#{minute}分#{second}秒の#{ymdHMs}は素数です" b += 1 end second += 1 end mdHM = 10000*md + 100*hour + minute ymdHM = 10000*ymd + 100*hour + minute if is_prime(mdHM) puts "今日#{hour}時#{minute}分の#{mdHM}は素数です" c += 1 end if is_prime(ymdHM) puts "今年の今日#{hour}時#{minute}分の#{ymdHM}は素数です" d += 1 end minute += 1 end hour += 1 end puts "#{a},#{b},#{c},#{d}\a"
繰り返しの部分書くのが面倒だった。
a,b,c,dで個数求めてみたわけですが、
月日時分秒:4078個
年月日時分秒:2847個
月日時分:74個
年月日時分:55個
の計7054個でした
今後もうちょい勉強してこれを通知するtwitterBOTを作るとしたら、規制を考えると下2つの通知が現実的かな
オラなんだかワクワクしてきたぞ
ちょっと東工大生っぽくてアレ(イメージ)