Guest User

Untitled

a guest
Jul 23rd, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. fn main() {
  2. let mut acc: u8 = 0;
  3. let mut s = *b"00: 0";
  4.  
  5. for i in 5..30u8 {
  6. // Encode decimal number
  7. s[0] = 0;
  8. acc = i;
  9. loop {
  10. acc = acc.wrapping_sub(10);
  11. if acc & 0b1000_000 == 0 {
  12. s[0] += 1;
  13. } else {
  14. acc = acc.wrapping_add(10);
  15. break;
  16. }
  17. }
  18. s[1] = acc;
  19.  
  20. s[0] += 0x30;
  21. s[1] += 0x30;
  22.  
  23.  
  24. s[4] = b'Y';
  25. 'outer: for d in 2..=i / 2 {
  26. acc = i;
  27. loop {
  28. acc = acc.wrapping_sub(d);
  29. if acc == 0 {
  30. // not prime!
  31. s[4] = b'N';
  32. break 'outer;
  33. }
  34. if acc & 0b1000_000 != 0 {
  35. // not a divisor (subtraction overflowed)
  36. break;
  37. }
  38. }
  39. }
  40.  
  41. println!("{}", std::str::from_utf8(&s).unwrap());
  42. }
  43. }
Add Comment
Please, Sign In to add comment