【C#】 迴圈小練習_反序數

​​​反序數就是一對數字來回倒腾,反序數是来回倒腾一對數字,来回倒腾一對數字就是反序數。

所謂反序數,就是一對數字,這對數字的特點是兩個數字相互顛倒。
例如:123、321,25、52
那麼反序數唯一不可能出現有0結尾的數字,因為這樣就對不上了。
例如:210、012 (這應該算是12..)

利用這樣的特性,將一組數字輸入,假設此數是一組3位數的反序數的乘積,去驗證他是不是反序數,如果是的話,列出反序數解。
 

 class Program
    {
        private static int fx = 0;
        private static int xf = 0;

        static void Main(string[] args)
        {
            Console.WriteLine("請輸入要計算的乘積:");
            int x = Convert.ToInt32(Console.ReadLine());
            bool bl = false;

            for (int i = 101; i < 1000; i++)
            {
                if (bl = fanNumber(i, x))
                {
                    Console.WriteLine(string.Format("找到有{0}和{1}是反序數:", fx, xf));
                    Console.ReadLine();
                }
            }
            Console.WriteLine(string.Format("輸入的數字不具有反序數"));
            Console.ReadLine();
        }

        private static bool fanNumber(int n, int input)
        {
            int x = n / 100;
            int y = n / 10 % 10;
            int z = n % 10;

            int fn = z * 100 + y * 10 + x;

            if (n * fn == input)
            {
                fx = n;
                xf = fn;
                return true;
            }
            else
            {
                return false;
            }
        }
    }

 

水滴可成涓流,涓流可成湖泊大海。
汲取累積知識,將知識堆積成常識;將常識探究成學識;將學識簡化為知識;授人自省。