Tìm số Armstrong trong C#



Bài tập C#: Tìm số Armstrong

Viết chương trình C# để tìm các số Armstrong trong một dãy số đã cho. Số Armstrong là số bằng tổng lập phương các chữ số của số đó.

Ví dụ: số 153 là số Armstrong, bởi vì:
13 + 53 + 33 = 153

Đây là bài tập C# minh họa giúp bạn cách sử dụng kết hợp vòng lặp FOR và lệnh IF ELSE trong C#.

Chương trình C#

Dưới đây là chương trình C# để giải bài tập tìm số Armstrong trong C#:

using System;namespace VietJackCsharp
{
    class TestCsharp
    {
        public static void Main()
        {            int num, r, sum, temp;
            int stno, enno;            Console.Write("\n");
            Console.Write("Tim so Armstrong trong C#:\n");
            Console.Write("-------------------------");
            Console.Write("\n\n");            Console.Write("Nhap so bat dau cua day: ");
            stno = Convert.ToInt32(Console.ReadLine());            Console.Write("Nhap so ket thuc cua day: ");
            enno = Convert.ToInt32(Console.ReadLine());            Console.Write("Cac so Armstrong trong day da cho la: ");
            for (num = stno; num <= enno; num++)
            {
                temp = num;
                sum = 0;                while (temp != 0)
                {
                    r = temp % 10;
                    temp = temp / 10;
                    sum = sum + (r * r * r);
                }
                if (sum == num)
                    Console.Write("{0} ", num);
            }
            Console.Write("\n");                          Console.ReadKey();
        } 
    }
}

Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.

Kết quả chương trình C#

Biên dịch và chạy chương trình C# trên sẽ cho kết quả:

Tìm số Armstrong trong C#
bai-tap-vong-lap-trong-csharp.jsp