C#の(217 214 191文字)
ゴルフバージョン:
using System;using System.Linq;class P{static void Main(){int n=int.Parse(Console.ReadLine());do{var t=(n+"").ToArray();Array.Reverse(t);Console.Write(n+""==new string(t)?n+"\n":"");}while(n-->0);Console.ReadLine();}}
読みやすい:
using System;
using System.Linq;
class P
{
static void Main()
{
int n = int.Parse(Console.ReadLine());
do
{
var t = (n + "").ToArray();
Array.Reverse(t);
Console.Write(n + "" == new string(t) ? n + "\n" : "");
} while (n-->0);
Console.ReadLine();
}
}
これは、n-> 0演算子を使用して、回文を降順で出力します。(nが0になるため)。
*編集されたバージョンでは、do ... whileが3文字保存されますが、n + 1で入力する必要があります。
using System;using System.Linq;class P{static void Main(){int n=int.Parse(Console.ReadLine());while(n-->0){var t=(n+"").ToArray();Array.Reverse(t);Console.Write(n+""==new string(t)?n+"\n":"");}Console.ReadLine();}}
*編集:配列に変換せずに文字列を逆にするより良い方法を見つけました:
using System;using System.Linq;class P{static void Main(){int n=int.Parse(Console.ReadLine());while(n-->0)Console.Write(n+""==string.Join("",(""+n).Reverse())?n+"\n":"");Console.ReadLine();}}
読みやすい:
using System;
using System.Linq;
class P
{
static void Main()
{
int n = int.Parse(Console.ReadLine());
while (n-->0)
Console.Write(n + "" == string.Join("", ("" + n).Reverse()) ? n + "\n" : "");
Console.ReadLine();
}
}