Special Numbers Loops Posted May 09, 2020

A number is called an Armstrong Number or Narcissistic number if the sum of its own digits raised to the power of the number of digits equals to the number. For example, 371 = 3^3 + 7^3 + 1^3 = 27 + 343 + 1 By logic, all single digit numbers are Armstrong numbers since n^1 = n. For a given number, we would need to find out if the given number is an Armstrong number or not.

```
public static bool IsArmstrongNumber(int n)
{
int r, cube, sum = 0, input = n;
if (n < 10)
return true;
while (n != 0)
{
r = n % 10;
cube = r * r * r;
sum = sum + cube;
n = n / 10;
}
return sum == input ? true : false;
}
```

**How it works:**

Calculating an Armstrong number relies on the same basic Divisibility rule of 10, on which the logic to count the number of digits can also be made.

For each iteration till the number is made 0, we strip the number of its last digit by modulus dividing with 10 and then cube the remainder and add it up to a total sum. Finally once the number is completely dealt, we check if the total sum is equal to the input number or not. If equal, it is an Armstrong number else not.

Compute and generate a compressed string for a given string containing repetitions

Find all possible natural numbers below a given limit such that a3+b3 = c3+d3

Find all the pairs in a given ordered set of numbers whose sum is equal to a given input sum

Find all the pairs in a given unordered set of numbers whose sum is equal to a given input sum

Sort the given unordered set of Binary digits

Implementing stream based communication with gRPC and ASP.NET Core

Building a simple Client-Server Interaction with gRPC in ASP.NET Core

Role-based and Claims-based Authorization in ASP.NET Core using Policies - Hands on

Understanding How Antiforgerytoken works in ASP.NET Core MVC

Implementing Cognito User Login and Signup in ASP.NET Core using AWS SDK