Question
Print Armstrong number in a given range using recursion.
A positive number is called Armstrong number if the sum of its own digits each raised to the power of the number of digits is equal to the number.
ENTER THE LOWER RANGE
1
ENTER THE UPPER RANGE
50
ARMSTRONG NUMBERS BETWEEN 1 AND 50
1 2 3 4 5 6 7 8 9
Share code with your friends
Share on whatsapp
Share on facebook
Share on twitter
Share on telegram
Code
Java
Python
Java
import java.util.Scanner;
public class ArmstrongNumber
{
public static int SumOfDigit(int num,int i)
{
if(num==0)
{
return 0;
}
else
{
return (int)Math.pow(num%10,i)+SumOfDigit(num/10,i);
}
}
public static void main()
{
int sum=0,noOfDigits=0,lowerRange=0,upperRange=0,i=0;
Scanner sc=new Scanner(System.in);
System.out.println("ENTER THE LOWER RANGE");
lowerRange=sc.nextInt();
System.out.println("ENTER THE UPPER RANGE");
upperRange=sc.nextInt();
System.out.println("ARMSTRONG NUMBERS BETWEEN "+lowerRange+" AND "+upperRange);
for(i=lowerRange;i<=upperRange;i++)
{
noOfDigits=Integer.toString(i).length();
sum=SumOfDigit(i,noOfDigits);
if(sum==i)
{
System.out.print(i+" ");
}
}
}
}
Python
def sumOfDigits(num):
if(num<=0):
return 0
else:
digit=num%10
return digit**totalDigits+sumOfDigits(num//10)
#Main Method Starts from here
if(__name__=='__main__'):
lowerRange=int(input("Enter the lower Value:"))
upperRange=int(input("Enter the upper Value:"))
print("Armstrong number between",lowerRange,"and",upperRange,":")
for number in range(lowerRange,upperRange+1):
totalDigits = len(str(number))
"""
str(number) converted integer to string
len() gives length of string
so len(str(number)) combined gives total number of digits
"""
sum = sumOfDigits(number)
if (sum == number):
print(number,end=" ")
Coding Store
Sale

ISC QUESTION PAPERS WITH SOLUTION(PROGRAMMING ONLY)
Sale
