平方三角数(『CodeIQの問題・パズルを考えよう!』提案その2)
『CodeIQの問題・パズルを考えよう!(by CodeIQ×はてな)』にまた応募してみます。
今回はコードゴルフ問題案。
提案する問題
■平方三角数とは?
三角数とは、n×(n+1)/2 で表すことの出来る整数(>0)のこと。
1 から n までの整数の総和()のことですね。
下図のように、綺麗な三角形の形に並べることが出来るので「三角数」と呼ばれます。●
● ●●
● ●● ●●●
● ●● ●●● ●●●●
● ●● ●●● ●●●● ●●●●● …
1 3 6 10 15 …平方数(別名:四角数)は、n2 で表すことの出来る整数(>0)のこと。
三角数と同様、綺麗な四角形(正方形)の形に並べることが出来ます。●●●●●
●●●● ●●●●●
●●● ●●●● ●●●●●
●● ●●● ●●●● ●●●●●
● ●● ●●● ●●●● ●●●●● …
1 4 9 16 25 …そして平方三角数とは、平方数でありかつ三角数でもある数のことです。
一番小さい平方三角数は 1 、2 番目は 36(= 8×(8+1)/2 = 62)、3 番目は 1225、… となります。
■問題
標準入力から整数 N(>0)を与えて、N 番目の平方三角数を標準出力に出力するプログラムを書いてください。
■注意事項
・N の最大値は 99 としておきます。1 から 99 までの整数を与えて正しい平方三角数が出力されれば OK です。
・言語は Ruby 2.0.0 とします(※1)。
■解答方法
完成したコードをテキストファイル(.txt)に変換し、ファイルアップロードにより提出してください。
複数回ご提出いただいた場合は、正しく出力されるコードの中で、コードサイズが最小のものを記録とします。