1. Introduction
An Armstrong number (or narcissistic number) is a number that is equal to the sum of its own digits raised to the power of the number of digits. For instance, 153 is an Armstrong number because (1^3 + 5^3 + 3^3 = 153).
2. Program Overview
Our R program will:
1. Prompt the user to input a number.
2. Check whether the given number is an Armstrong number.
3. Display the result to the user.
3. Code Program
# Prompt user for input
num <- as.numeric(readline(prompt = "Enter a number: "))
# Check if a number is an Armstrong number
is_armstrong <- function(num) {
digits <- as.numeric(unlist(strsplit(as.character(num), "")))
n <- length(digits)
sum_of_powers <- sum(digits^n)
return(sum_of_powers == num)
}
# Check and display the result
if (is_armstrong(num)) {
cat(num, "is an Armstrong number.")
} else {
cat(num, "is not an Armstrong number.")
}
Output:
For input 153, the output will be: "153 is an Armstrong number."
4. Step By Step Explanation
1. User Input: The program begins by prompting the user to enter a number which is stored in the num variable.
2. Digit Extraction: The function is_armstrong splits the number into its individual digits and computes the number of digits (n).
3. Armstrong Check: It then raises each digit to the power of n and sums them up. If the result is equal to the original number, it is an Armstrong number.
4. Result Display: Finally, the program prints out whether or not the input number is an Armstrong number.
Comments
Post a Comment
Leave Comment