求用十进制、二进制、八进制表示都是回文数的所有数字中,大于十进制数10的最小值
二进制数为回文数,所以不会以0开头结尾,所以必为奇数
class ReverseNum10_8_2 { public void Cal() { bool s_out = false; int i = 11; while (!s_out) { string str2 = Convert.ToString(i, 2); string str8 = Convert.ToString(i, 8); string str10 = Convert.ToString(i, 10); /*char[] c2 = str2.ToCharArray(); Array.Reverse(c2); char[] c8 = str8.ToCharArray(); Array.Reverse(c8); char[] c10 = str10.ToCharArray(); Array.Reverse(c10);*/ if (str2 == reverse(str2) && str8 == reverse(str8) && str10 == reverse(str10)) { Console.WriteLine("该数字为:" + str10); Console.WriteLine("二进制为:" + str2); Console.WriteLine("八进制为:" + str8); s_out = true; } i += 2; } } private string reverse(string str) { int Length = str.Length; char[] rChar = new char[Length]; for (int i = 0; i < Length; i++) { rChar[i] = str[Length - i - 1]; } return new string(rChar); } }
暴力搞定法啊,哈!