Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

โปรแกรม C# ตรวจสอบเลข Armstrong

เลข Armstrong (Narcissistic number) คือเลขที่ผลรวมของแต่ละหลักยกกำลังจำนวนหลัก เท่ากับเลขนั้นเอง

ตัวอย่าง: 153 มี 3 หลัก → 1³ + 5³ + 3³ = 1 + 125 + 27 = 153 ✓

อัลกอริทึม (สำหรับเลข 3 หลัก)

for (int i = val; i > 0; i = i / 10) {
    rem = i % 10;
    sum = sum + rem * rem * rem;
}

ตัวอย่างโค้ดเต็ม

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Demo {
    class ApplicationNew {
        static void Main(string[] args) {
            int val = 153, sum = 0;
            int rem;
            for (int i = val; i > 0; i = i / 10) {
                rem = i % 10;
                sum = sum + rem * rem * rem;
            }
            if (sum == val) {
                Console.Write("Armstrong Number");
            } else {
                Console.Write("Not an Armstrong Number");
            }
            Console.ReadLine();
        }
    }
}

ผลลัพธ์

Armstrong Number

เวอร์ชันทั่วไป (ทุกจำนวนหลัก):

int digits = val.ToString().Length;
int temp = val, sum = 0;
while (temp > 0) {
    int digit = temp % 10;
    sum += (int)Math.Pow(digit, digits);
    temp /= 10;
}