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.

## 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