Advertisement
Guest User

Untitled

a guest
Jan 29th, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. def mul_one(num, x):
  2. num = num[::-1]
  3. if x == 0:
  4. return 0
  5. ans = [0 for i in range(len(num) + 1)]
  6. d = 0
  7. for i in range(len(num)):
  8. ans[i] = (num[i] * x + d) % 10
  9. d = (num[i] * x + d) // 10
  10. if d == 0:
  11. ans = ans[:-1]
  12. else:
  13. ans[-1] = d
  14. return ans[::-1]
  15.  
  16.  
  17. def dif(NUM, num):
  18. num = num[::-1]
  19. NUM = NUM[::-1]
  20. ans = [i for i in NUM]
  21. d = 0
  22. for i in range(len(num)):
  23. ans[i] = (10 + NUM[i] - num[i] - d) % 10
  24. d = 1 - (10 + NUM[i] - num[i] - d) // 10
  25. if len(NUM) > len(num) and d == 1:
  26. ans[len(num)] -= 1
  27. while len(ans) > 1 and ans[-1] == 0:
  28. ans = ans[:-1]
  29. return ans[::-1]
  30.  
  31.  
  32. def check(NUM, num):
  33. for i in range(len(num)):
  34. if num[i] > NUM[i]:
  35. return False
  36. elif num[i] < NUM[i]:
  37. return True
  38. return True
  39.  
  40.  
  41. def div(NUM, num):
  42. '''
  43. n=len(NUM)-len(num)
  44. if check(NUM[:len(num)],num):
  45. n+=1
  46. ans=[0 for i in range(n)]
  47. for i in range(n):
  48. '''
  49. ans = []
  50. Num = NUM[:len(num)]
  51. for i in range(len(NUM) - len(num) + 1):
  52. for j in range(1, 10):
  53. if not check(Num, mul_one(num, j)):
  54. ans.append(j - 1)
  55. break
  56. if len(num) + i != len(NUM):
  57. Num = dif(Num, mul_one(num, ans[-1])) + NUM[len(num) + i]
  58. if ans[0] == 0:
  59. ans = ans[1:]
  60. print(*ans)
  61. print(*dif(Num, mul_one(num, ans[-1])))
  62.  
  63.  
  64. N = input()
  65. n = input()
  66. NUM = [int(i) for i in N]
  67. num = [int(i) for i in n]
  68. div(NUM, num)
  69. '''
  70. arr = dif(NUM, num)
  71. for i in arr:
  72. print(i, end='')
  73. print()
  74. print(12345678901234567890-1000)
  75.  
  76.  
  77. 12345678901234567890
  78. 1000
  79. '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement