1
0

09_long.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. assert long(123) == long('123') == 123 == 123L
  2. a = long(2)
  3. assert a ** 0 == 1
  4. assert a ** 60 == 1152921504606846976
  5. assert a + 1 == 3
  6. assert a - 1 == 1
  7. assert a * 2 == 4
  8. assert a // 2 == 1
  9. assert -a == -2
  10. assert 1 + a == 3L
  11. assert 1 - a == -1L
  12. assert 2 * a == 4L
  13. # __lshift__ and __rshift__
  14. for i in range(29):
  15. assert 1L << i == 2 ** i
  16. for i in range(29):
  17. assert 2L ** i >> i == 1L
  18. assert 12L >> 100 == 0
  19. a = 32764L
  20. s = []
  21. while a != 0:
  22. a, r = divmod(a, 10L)
  23. s.append(r)
  24. assert s == [4, 6, 7, 2, 3]
  25. assert 1 < 2L < 3 < 6.6
  26. assert 1L < 2 < 9.6 >= 7 > 2L
  27. assert 1L < 2 < 3 < 6.6
  28. assert 10000000000000000000000L // 3333L == 3000300030003000300L
  29. assert 10000000000000000000000L % 3333L == 100L
  30. assert 2L ** 100 // 3L ** 50 == 1765780L
  31. assert 2L ** 200 // 3L ** 100 == 3117982410207L
  32. assert 2L ** 500 // 3L ** 200 == 12323863745843010927046405923587284941366070573310012484L
  33. assert 2L ** 500 % 3L ** 200 == 242990057207501525999897657892105676264485903550870122812212566096970021710762636168532352280892L
  34. assert 3L**500 // 3L**400 == 3L**100
  35. assert 4562645248L // 3L == 1520881749L
  36. assert 3L**10 // 2L**200 == 0
  37. assert 2L**500 % 3L**200 == 242990057207501525999897657892105676264485903550870122812212566096970021710762636168532352280892L
  38. assert divmod(10L**115, 3L**47) == (376098003656605353510839433041026531338835641081336270795298342081499446459650747504311257564L, 10150482013473427429132L)