Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.54 KB | None | 0 0
  1. fn is_armstrong_number(num: u32) -> bool {
  2. let num_digits = (num as f64).log10().ceil() as u32;
  3. let mut remainder = num;
  4. let mut armstrong_sum = 0;
  5. for power in (0..num_digits).rev() {
  6. let power10 = 10u32.pow(power);
  7. let digit = remainder / power10;
  8. remainder -= digit * power10;
  9. armstrong_sum += digit.pow(num_digits);
  10. }
  11.  
  12. num == armstrong_sum
  13. }
  14.  
  15. fn main() {
  16. println!("{}", is_armstrong_number(9));
  17. println!("{}", is_armstrong_number(153));
  18. println!("{}", is_armstrong_number(154));
  19. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement