Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn is_armstrong_number(num: u32) -> bool {
- let num_digits = (num as f64).log10().ceil() as u32;
- let mut remainder = num;
- let mut armstrong_sum = 0;
- for power in (0..num_digits).rev() {
- let power10 = 10u32.pow(power);
- let digit = remainder / power10;
- remainder -= digit * power10;
- armstrong_sum += digit.pow(num_digits);
- }
- num == armstrong_sum
- }
- fn main() {
- println!("{}", is_armstrong_number(9));
- println!("{}", is_armstrong_number(153));
- println!("{}", is_armstrong_number(154));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement