fork download
  1. importPackage(java.io);
  2. importPackage(java.lang);
  3.  
  4. function f(n){
  5. var _n = n
  6. var a = 0
  7. var b = 0
  8. var carry = 0
  9. var p = 1
  10.  
  11. while (_n){
  12. let d = _n % 10
  13. _n = Math.floor(_n / 10)
  14. if (d == 0){
  15. d = 10
  16. if (!carry)
  17. carry = 1
  18. else
  19. d = 9
  20. } else if (d == 1 && _n){
  21. d = 11
  22. if (!carry)
  23. carry = 1
  24. else
  25. d = 10
  26. } else {
  27. d -= carry
  28. carry = 0
  29. }
  30. if (d == 0){
  31. d = 10
  32. if (!carry)
  33. carry = 1
  34. else
  35. d = 9
  36. } else if (d == 1 && _n){
  37. d = 11
  38. if (!carry)
  39. carry = 1
  40. else
  41. d = 10
  42. }
  43. let m = Math.floor(d / 2)
  44. a += p * m
  45. b += p * (d - m)
  46. p *= 10
  47. }
  48.  
  49. return [a, b, a + b, n]
  50. }
  51. print(f(2003))
  52. print(f(988))
  53. print(f(12))
  54. print(f(90999999999999))
  55. print(f(221110))
  56.  
  57.  
  58.  
Success #stdin #stdout 0.34s 39664KB
stdin
Standard input is empty
stdout
451,1552,2003,2003
444,544,988,988
1,11,12,12
45444444444444,45555555555555,90999999999999,90999999999999
55555,165555,221110,221110