How to check whether a number is armstrong number in Dart

1 Answer

0 votes
import 'dart:io';
import 'dart:math';

void main() {
    int n = 153;

    IsArmstrong(n); // 1*1*1 + 5*5*5 + 3*3*3 = 153
    
    IsArmstrong(9474); // 9*9*9*9 + 4*4*4*4 + 7*7*7*7 + 4*4*4*4 =  9474);
}

void IsArmstrong(int number) {
    int temp = number;

    int total_digits = 0;
    while (temp > 0){
        temp = temp ~/ 10;
        total_digits++;
    }

    temp = number;

    int sum = 0, last = 0;
    while (temp > 0) {
        last = temp % 10;
        sum = sum + pow(last, total_digits) as int;
        temp = temp ~/ 10;   
    }

    if (number == sum) {
        print("Armstrong number");
    } else {
        print("Not armstrong number");
    }
}



/*
run:

Armstrong number
Armstrong number

*/

 



answered Dec 12, 2022 by avibootz

Related questions

1 answer 131 views
1 answer 173 views
1 answer 128 views
128 views asked Oct 17, 2022 by avibootz
2 answers 173 views
1 answer 118 views
1 answer 129 views
...