we start the problem series on PMC (Python Members Club) with Armstrong Numbers.

## definition

**an armstrong number is a number such that the sum of the digits in the number raised to the number of digits equals the number itself**

breaking down

*sum of the digits in the number*

let us take number abc, sum is

a + b + c

*raised to the number of digits*

num of digits in abc is 3

a^3 + b^3 + c^3

*equals the number itself*

a^3 + b^3 + c^3 == abc

## examples

1 - 123, number of digits: 3, hence risen to power 3

1^3 + 2^3 + 3^3 -> 36, not equals 123

2 - 153 , number of digits: 3, hence risen to power 3

1^3 + 5^3 + 3^3 ->1 + 125 + 27 -> 153, sum same as number

3 - 8208, number of digits, hence risen to power 4

8^4 + 2^4 + 0^4 + 8^4 ->4096 + 16 + 0 + 4096-> 8208, sum same as number

**our code**

```
for i in range(1000000):
num = str(i)
sumcube = 0
for n in num:
sumcube += (int(n) ** len(num))
if i == sumcube:
print(i, 'is an armstrong number')
```

## the logic

for i in … spits out a number each time for us to deal with

num = str(i) transform the integer into string …

… which allows us a neat python trick: iterating over a string. that way we instantly get the 3 1 9 of 319. the conventional approach would have been to divide by 100 10 and 1 to get 3 1 9

nothing spooky, out of reach eh …

anything? drop a word below ^^