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替换为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();
}
}