Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1. fn main() {
  2. let input = 1234567890;
  3. let result: Vec<i32> = (0..=(input as f32).log10() as i32)
  4. .rev()
  5. .map(|n| input / 10f32.powi(n) as i32 % 10)
  6. .collect();
  7. println!("{:?}", result);
  8.  
  9. let mut result: Vec<i32> = std::iter::repeat(())
  10. .scan(input, |state, _| {
  11. let v = *state;
  12. *state /= 10;
  13. match v {0=>None, x => Some(x % 10)}
  14. })
  15. .collect();
  16. result.reverse();
  17. println!("{:?}", result);
  18.  
  19. let mut result = vec![];
  20. let mut v = input;
  21. while v != 0 {
  22. result.push(v % 10);
  23. v /= 10;
  24. }
  25. result.reverse();
  26. println!("{:?}", result);
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement