How to print all 3 digits armstrong numbers in C#

1 Answer

0 votes
using System;

// Armstrong = a number that equals the sum of its digits, 
//             each raised to a power of the number of digits
// For example 153, it's an Armstrong number because 1^3 + 5^3 + 3^3 = 153

public class Program
{
	public static bool armstrong(int n) {
		int reminder = 0, sum = 0, total_digits = (int)Math.Log10(n) + 1;
		int temp = n;

		while (temp > 0) {
			reminder = temp % 10;
			sum += (int)Math.Pow(reminder, total_digits);
			temp = temp / 10;
		}

		if (sum == n) {
			return true;
		}

		return false;
	}

	public static void Main(string[] args)
	{
		for (int i = 100; i <= 999; i++) {
			if (armstrong(i)) {
				Console.Write(i + ", ");
			}
		}
	}
}




/*
run:
    
153, 370, 371, 407, 
    
*/

 



answered Dec 30, 2023 by avibootz

Related questions

1 answer 125 views
1 answer 136 views
1 answer 105 views
1 answer 146 views
1 answer 142 views
1 answer 185 views
1 answer 271 views
...