How to check whether a number is armstrong number in Rust

1 Answer

0 votes
#![allow(unused)]

fn armstrong(mut n : i32) -> i32 {
    let mut reminder : i32 = 0;
    let mut sum : i32 = 0;
    let total_digits = n.to_string().len();

    while n > 0 {
        reminder = n % 10;
        sum += reminder.pow(total_digits as u32);
        n = n / 10;
    }
        
    return sum;
}

fn main() {
	let mut n : i32 = 153;
	 
    if n == armstrong(n) {
        println!("{}","Armstrong number".to_string());
    }
    else {
        println!("{}","Not armstrong number".to_string());
    }
        
    n = 9474 as i32;
    if n == armstrong(n) {
        println!("{}","Armstrong number".to_string());
    }
    else {
        println!("{}","Not armstrong number".to_string());
    }
}




/*
run:

Armstrong number

*/

 



answered Mar 2, 2023 by avibootz
...