Thguoht Peed
生命、宇宙、万物についての答えが 42 であることは常識中の常識です。しかし、逆に 42 と加減乗除だけを使って "The Answer to Life, the Universe, and Everything" を再構成することはできるのでしょうか。
私はこの大問題について、2 日間という長期に渡り苦しくも充実した研究行った末、ついに下のようなプログラムを作ることに成功しました。
現在私はこのプログラムに ThguohtPeed.rb という名前をつけ、様々な数値を与えて反応を観察しているところです。もうちょっとダイエットさせたいなぁ。
#!/usr/local/bin/ruby n=42 if $*.size > 0 n=$*[0].to_i end str = "" str << (n+n) #T str << (n+n+n*n/(n+n)-n/n) #h str << (n+n+n*n/(n+n+n)+(n+n+n)/n) #e str << (n-(n*n-n-n)/(n+n+n+n)) #' ' str << (n+n*n/(n+n)+(n+n)/n) #A str << (n+n+n-n*n/(n+n+n)-(n+n)/n) #n str << (n+n+n-(n*n+n+n)/(n+n+n+n)) #s # n の使用数が少ない w。 str << (((n+n+n)*(n-(n+n)/n)-n)/n) #w # 計算式が短い w。2 種類。 #str << (n+n+n-n*n/(n+n+n+n+n+n)) #w #str << (n+n+n-(n+n+n+n+n+n+n)/n) #w str << (n+n+n*n/(n+n)-(n+n+n+n)/n) #e str << ((n+n+n)*(n-(n+n+n+n)/n)/n) #r str << (n-(n*n-n-n)/(n+n+n+n)) #' ' str << (n+n+n-(n*n-n-n)/(n+n+n+n)) #t str << (n+n+n-n*n/(n+n+n)-n/n) #o str << (n-(n*n-n-n)/(n+n+n+n)) #' ' str << ((n-(n+n+n+n)/n)*(n+n)/n) #L str << (n+n+n*n/(n+n)) #i str << (n+n+n*n/(n+n)-(n+n+n)/n) #f str << (n+n+n*n/(n+n+n)+(n+n+n)/n) #e str << (n+(n+n)/n) #, str << (n-(n*n-n-n)/(n+n+n+n)) #' ' str << (n+n+n-(n*n-n-n)/(n+n+n+n)) #t str << (n+n+n*n/(n+n)-n/n) #h str << (n+n+n*n/(n+n)-(n+n+n+n)/n) #e str << (n-(n*n-n-n)/(n+n+n+n)) #' ' str << (n+n+n/n) #U str << (n+n+n-n*n/(n+n+n)-(n+n)/n) #n str << (n+n+n*n/(n+n)) #i str << (n+n+n-(n+n)*(n+n+n+n)/n/n) #v str << (n+n+n*n/(n+n+n)+(n+n+n)/n) #e str << ((n+n+n)*(n-(n+n+n+n)/n)/n) #r str << (n+n+n-(n*n+n+n)/(n+n+n+n)) #s str << (n+n+n*n/(n+n)-(n+n+n+n)/n) #e str << (n+(n+n)/n) #, str << (n-(n*n-n-n)/(n+n+n+n)) #' ' str << (n+n+n*n/(n+n+n)-n/n) #a str << (n+n+n-n*n/(n+n+n)-(n+n)/n) #n str << (n+n+n*n/(n+n+n)+(n+n)/n) #d str << (n-(n*n-n-n)/(n+n+n+n)) #' ' str << (n+n-n*n/(n+n+n)-n/n) #E str << (n+n+n-(n+n)*(n+n+n+n)/n/n) #v str << (n+n+n*n/(n+n+n)+(n+n+n)/n) #e str << ((n+n+n)*(n-(n+n+n+n)/n)/n) #r str << (n+n+n-(n+n+n+n+n)/n) #y str << (n+n+n-(n*n-n-n)/(n+n+n+n)) #t str << (n+n+n*n/(n+n)-n/n) #h str << (n+n+n*n/(n+n)) #i str << (n+n+n-n*n/(n+n+n)-(n+n)/n) #n str << (n+n+n*n/(n+n)-(n+n)/n) #g puts str
使いかたはこんな感じです。
% ./ThguohtPeed.rb The Answer to Life, the Universe, and Everything % ./ThguohtPeed.rb 42 The Answer to Life, the Universe, and Everything % ./ThguohtPeed.rb 41 Reb ?lqtbo rm Jfcb+ reb Slfsboqb+ ^la Dsbovrefld % ./ThguohtPeed.rb 43 Vjg!Bqvzgu!wr!Nkhg-!wjg!Wqkyguvg-!cqf!Gygu|wjkqi