Program to Print First n Armstrong Numbers using While loop

Program to Print First n Armstrong Numbers using While loop

  • Write a program to Print First n Armstrong Numbers using While loop in C
  • Write a program to Print First n Armstrong Numbers using While loop in C++
  • Write a program to Print First n Armstrong Numbers using While loop in Python
  • Write a program to Print First n Armstrong Numbers using While loop in PHP
  • Write a program to Print First n Armstrong Numbers using While loop in Java
  • Write a program to Print First n Armstrong Numbers using While loop in Java Script
  • Write a program to Print First n Armstrong Numbers using While loop in C#

Explanation:

Logic

What is an Armstrong number?

  • A number is an Armstrong number if the sum of its digits raised to the power of the number of digits equals the number itself.
  • For example, 153 = 13 + 53 + 33.

Steps:

  • Define a function to check if a number is an Armstrong number.
  • Start from 1 and keep checking numbers until n Armstrong numbers are found.
  • Print each Armstrong number as it is identified.

Program to Print First n Armstrong Numbers using While loop

#include <stdio.h>
#include <math.h>

int main() {
    int num, originalNum, remainder, result = 0, n = 0;

    printf("Enter a number: ");
    scanf("%d", &num);

    originalNum = num;

    // Count the number of digits
    while (originalNum != 0) {
        originalNum /= 10;
        ++n;
    }

    originalNum = num;

    // Check if Armstrong
    while (originalNum != 0) {
        remainder = originalNum % 10;
        result += pow(remainder, n);
        originalNum /= 10;
    }

    if (result == num)
        printf("%d is an Armstrong number.\n", num);
    else
        printf("%d is not an Armstrong number.\n", num);

    return 0;
}

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    int num, originalNum, remainder, result = 0, n = 0;

    cout << "Enter a number: ";
    cin >> num;

    originalNum = num;

    // Count the number of digits
    while (originalNum != 0) {
        originalNum /= 10;
        ++n;
    }

    originalNum = num;

    // Check if Armstrong
    while (originalNum != 0) {
        remainder = originalNum % 10;
        result += pow(remainder, n);
        originalNum /= 10;
    }

    if (result == num)
        cout << num << " is an Armstrong number." << endl;
    else
        cout << num << " is not an Armstrong number." << endl;

    return 0;
}

def is_armstrong(num):
    original_num = num
    n = len(str(num))
    result = 0

    while num != 0:
        remainder = num % 10
        result += remainder ** n
        num //= 10

    return original_num == result

num = int(input("Enter a number: "))
if is_armstrong(num):
    print(f"{num} is an Armstrong number.")
else:
    print(f"{num} is not an Armstrong number.")

<?php
function isArmstrong($num) {
    $originalNum = $num;
    $n = strlen((string)$num);
    $result = 0;

    while ($num != 0) {
        $remainder = $num % 10;
        $result += pow($remainder, $n);
        $num = (int)($num / 10);
    }

    return $originalNum == $result;
}

$num = (int)readline("Enter a number: ");
if (isArmstrong($num)) {
    echo "$num is an Armstrong number.\n";
} else {
    echo "$num is not an Armstrong number.\n";
}
?>

import java.util.Scanner;

public class Armstrong {
    public static boolean isArmstrong(int num) {
        int originalNum = num, result = 0, n = 0;
        
        // Count number of digits
        while (originalNum != 0) {
            originalNum /= 10;
            n++;
        }

        originalNum = num;

        // Calculate Armstrong sum
        while (originalNum != 0) {
            int remainder = originalNum % 10;
            result += Math.pow(remainder, n);
            originalNum /= 10;
        }

        return num == result;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int num = sc.nextInt();

        if (isArmstrong(num)) {
            System.out.println(num + " is an Armstrong number.");
        } else {
            System.out.println(num + " is not an Armstrong number.");
        }
        sc.close();
    }
}

function isArmstrong(num) {
    let originalNum = num;
    let n = num.toString().length;
    let result = 0;

    while (num !== 0) {
        let remainder = num % 10;
        result += Math.pow(remainder, n);
        num = Math.floor(num / 10);
    }

    return originalNum === result;
}

let num = parseInt(prompt("Enter a number: "));
if (isArmstrong(num)) {
    alert(`${num} is an Armstrong number.`);
} else {
    alert(`${num} is not an Armstrong number.`);
}

using System;

class Program {
    static bool IsArmstrong(int num) {
        int originalNum = num, result = 0, n = 0;

        // Count the number of digits
        int temp = num;
        while (temp != 0) {
            temp /= 10;
            n++;
        }

        // Check if Armstrong
        temp = num;
        while (temp != 0) {
            int remainder = temp % 10;
            result += (int)Math.Pow(remainder, n);
            temp /= 10;
        }

        return num == result;
    }

    static void Main() {
        Console.Write("Enter a number: ");
        int num = int.Parse(Console.ReadLine());

        if (IsArmstrong(num)) {
            Console.WriteLine($"{num} is an Armstrong number.");
        } else {
            Console.WriteLine($"{num} is not an Armstrong number.");
        }
    }
}

List of All Programs