Q. Write a program to check whether the given number N is Armstrong number or not.



Armstrong Number :- A Armstrong Number is a number that is equal to sum of cubes of each digits.
For Example :- 153
So as we can see that the sum of cubes of each digit (1^3=1, 5^3=125, 3^3=27 => 1+125+27=153) is equal to it's number. So 153 is an Armstrong number.

Armstrong Number Algorithm

START
  step 1 : read number
  step 2 : set sum=0 and duplicate=number
  step 3 : reminder=number%10
  step 4 : sum=sum+(reminder*reminder*reminder)
  step 5 : number=number/10
  step 6 : repeat steps 4 to 6 until number > 0
  step 7 : if sum = duplicate
  step 8 : display number is armstrong
  step 9 : else 
  step 10 : display number is not armstrong
STOP


Armstrong Number Program

  • C
  • C++
  • Java
  • Python
  • C#
  • PHP
  • #include <stdio.h>
    int main() {
    int num=153, new_num, rem, res = 0;
    new_num = num;
    while (new_num != 0) {
    rem = new_num % 10;
    res += rem * rem * rem;
    new_num /= 10;
    }
    if (res == num)
    printf("The number %d is an Armstrong number.", num);
    else
    printf("The number %d is not an Armstrong number.", num);
    return 0;
    }
    
    #include <iostream>
    using namespace std;
    int main()
    {
    int N=153, num, rem, sum = 0;
    num = N;
    while(num != 0)
    {
    rem = num % 10;
    sum += rem * rem * rem;
    num /= 10;
    }
    if(sum == N)
    cout <<"The number "<< N <<" is an Armstrong number.";
    else
    cout <<"The number "<< N <<" is not an Armstrong number.";
    return 0;
    }
    
    public class LFC {
    public static void main(String[] args) {
    int num = 153, new_num, rem, res = 0;
    new_num = num;
    while (new_num != 0)
    {
    rem = new_num % 10;
    res += Math.pow(rem, 3);
    new_num /= 10;
    }
    if(res == num)
    System.out.println("The number "+num+" is an Armstrong number.");
    else
    System.out.println("The number "+num+" is not an Armstrong number.");
    }
    }
    
    num = 153
    # initialize sum
    sum = 0
    # find the sum of the cube of each digit
    temp = num
    while temp > 0:
    digit = temp % 10
    sum += digit ** 3
    temp //= 10
    # display the result
    if num == sum:
    print("The number {0} is Armstrong number".format(num))
    else:
    print("The number {0} is not Armstrong number".format(num))
    
    using System;  
    public class LFC  
    {  
    public static void Main(string[] args)  
    {  
    int  n,r,sum=0,temp;           
    n= 153;     
    temp=n;      
    while(n>0)      
    {      
    r=n%10;      
    sum=sum+(r*r*r);      
    n=n/10;      
    }      
    if(temp==sum)      
    Console.Write("The number "+temp+" is Armstrong Number.");      
    else      
    Console.Write("The number "+temp+" is Not Armstrong Number.");      
    }  
    }  
    
    $num=153;  
    $total=0;  
    $x=$num;  
    while($x!=0)  
    {  
    $rem=$x%10;  
    $total=$total+$rem*$rem*$rem;  
    $x=$x/10;  
    }  
    if($num==$total)  
    {  
    echo "The number $num is Armstrong number";  
    }  
    else  
    {  
    echo "The number $num is not an Armstrong number";  
    }
    
    #include <stdio.h>
    int main() {
    int num=153, new_num, rem, res = 0;
    new_num = num;
    while (new_num != 0) {
    rem = new_num % 10;
    res += rem * rem * rem;
    new_num /= 10;
    }
    if (res == num)
    printf("The number %d is an Armstrong number.", num);
    else
    printf("The number %d is not an Armstrong number.", num);
    return 0;
    }
    

    Output

    The number 153 is an Armstrong number.
    

    Recommended Programs

       Program to check whether number is even or odd
       Program to find factorial of a number