Hi Guys, Welcome to Proto Coders Point. In this dart tutorial we will learn what is Armstrong number & then let’s write a dark program to check if a given number is a armstrong number or not.

This are the basic program been asked in most of the coding interviews so freshers who are applying for job must know armstring program.

Table of Contents

## What is Armstrong number

A Armstrong number, when each of its digits is raised to the power, number of digits in a number & the sum of it will be same as the number is called as armstrong number.

Eg: Let's take a number'370'. 370, so we have 3 digit number, therefore, each of its digits in 370 will have power of 3.370 = 3It's a ArmStrong Number^{3}+ 7^{3}+ 0^{3}= 27 + 343 + 0 = 370

Let’s Take one more Example(Not an Armstrong)

Let a Number be'1234'

1234, so it is a 4 digit armstrong number to be checked ok. Therefore each digit in 1234 will have power as 4.1234 = 1^{4}+ 2^{4}+ 3^{4}+ 4^{4}

= 1 + 8 + 81 + 256

1234 != 346

It's not a Armstrong number.

Armstrong are also called as **plus perfect** or **Narcissistic** number.

## Few Example on armstrong number

1:1^{1}=12:2^{1}=23:3^{1}=3371:3^{3}+ 7^{3}+1^{3}=371407= 4^{3}+ 0^{3}+ 7^{3}= 4071634:1^{4}+ 6^{4}+ 3^{4}+ 4^{4}= 1 + 1296 + 81 + 256 =16438208= 8^{4}+ 2^{4}+ 0^{4}+8^{4}=8208

## Armstrong number program in dart

The following program will check if the given number is **armstrong number** or not.

import 'dart:io'; import 'dart:math'; void main(){ int? num; print('Enter A Number to check ARMSTRONG or NOT ARMSTRONG NUMBER'); // user will enter a number to check num = int.parse(stdin.readLineSync()!); // user entered number is passed to function isArmString(num); } //a function to check arm strong void isArmString(int number){ //initial some variable int temp,digits =0, last = 0, sum = 0; //assign user entered number to temp variable temp = number; // loop execute until temp is 0 and increment digits by 1 each loop while(temp>0){ temp = temp~/10; digits++; } //reset temp to user entered number temp = number; //another loop for getting sum while(temp>0){ last = temp % 10; sum = sum + pow(last, digits) as int; temp = temp~/10; } // now if number and sum are equal its a arm strong number if(number == sum){ print("IT'S A ARMSTRONG NUMBER"); }else{ print("IT'S NOT ARMSTRONG NUMBER"); } }

**Result output**

The below Dart Program will print all the ArmString number from 0 to specified input by user.

import 'dart:io'; import 'dart:math'; void main(){ int? num; print('Enter A Number to check ARMSTRONG or NOT ARMSTRONG NUMBER'); // user will enter a number to check num = int.parse(stdin.readLineSync()!); // user entered number is passed to function print('________________________________________-'); for(int i = 0;i<=num;i++) { //if i is arm strong then print it else don't if(isArmString(i)) { print(i); } } } //a function to check arm strong bool isArmString(int number){ //initial some variable int temp,digits =0, last = 0, sum = 0; //assign user entered number to temp variable temp = number; // loop execute until temp is 0 and increment digits by 1 each loop while(temp>0){ temp = temp~/10; digits++; } //reset temp to user entered number temp = number; //another loop for getting sum while(temp>0){ last = temp % 10; sum = sum + pow(last, digits) as int; temp = temp~/10; } // now if number and sum are equal its a arm strong number if(number == sum){ return true; }else{ return false; } }

**result output**

**Recommended Dart programs**

How to generate random number in dart