6. Determine whether a number is a
perfect number, an Armstrong number, or a palindrome.
Python
num = int(input("Enter
a number: "))
#
Check for perfect number
sum_factors = 0
for i in range(1, num):
if num % i == 0:
sum_factors += i
if sum_factors == num:
print(num, "is a perfect number")
#
Check for Armstrong number
order = len(str(num))
temp = num
sum_digits = 0
while temp > 0:
digit = temp % 10
sum_digits += digit ** order
temp //= 10
if num == sum_digits:
print(num, "is an Armstrong number")
#
Check for palindrome
temp = num
reverse = 0
while temp > 0:
remainder = temp % 10
reverse = (reverse * 10) + remainder
temp //= 10
if num == reverse:
print(num, "is a palindrome")
No comments:
Post a Comment