R Program to check Armstrong Number


An Armstrong number, also known as narcissistic number, is a number that is equal to the sum of the cubes of its own digits.

For example, 370 is an Armstrong number since 370 = 3*3*3 + 7*7*7 + 0*0*0.


Example: Check Armstrong number

# take input from the user
num = as.integer(readline(prompt="Enter a number: "))

# initialize sum
sum = 0

# find the sum of the cube of each digit
temp = num
while(temp > 0) {
    digit = temp %% 10
    sum = sum + (digit ^ 3)
    temp = floor(temp / 10)
}

# display the result
if(num == sum) {
    print(paste(num, "is an Armstrong number"))
} else {
    print(paste(num, "is not an Armstrong number"))
}

Output 1

Enter a number: 23
[1] "23 is not an Armstrong number"

Output 2

Enter a number: 370
[1] "370 is an Armstrong number"

Here, we ask the user for a number and check if it is an Armstrong number.

We need to calculate the sum of cube of each digit. So, we initialize the sum to 0 and obtain each digit number by using the modulus operator %%.

Remainder of a number when it is divided by 10 is the last digit of the number.

We take the cubes using exponent operator. Finally, we compare the sum with the original number and conclude it is an Armstrong number if they are equal.

Our premium learning platform, created with over a decade of experience and thousands of feedbacks.

Learn and improve your coding skills like never before.

Try Programiz PRO
  • Interactive Courses
  • Certificates
  • AI Help
  • 2000+ Challenges