Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def mul_one(num, x):
- num = num[::-1]
- if x == 0:
- return 0
- ans = [0 for i in range(len(num) + 1)]
- d = 0
- for i in range(len(num)):
- ans[i] = (num[i] * x + d) % 10
- d = (num[i] * x + d) // 10
- if d == 0:
- ans = ans[:-1]
- else:
- ans[-1] = d
- return ans[::-1]
- def dif(NUM, num):
- num = num[::-1]
- NUM = NUM[::-1]
- ans = [i for i in NUM]
- d = 0
- for i in range(len(num)):
- ans[i] = (10 + NUM[i] - num[i] - d) % 10
- d = 1 - (10 + NUM[i] - num[i] - d) // 10
- if len(NUM) > len(num) and d == 1:
- ans[len(num)] -= 1
- while len(ans) > 1 and ans[-1] == 0:
- ans = ans[:-1]
- return ans[::-1]
- def check(NUM, num):
- for i in range(len(num)):
- if num[i] > NUM[i]:
- return False
- elif num[i] < NUM[i]:
- return True
- return True
- def div(NUM, num):
- '''
- n=len(NUM)-len(num)
- if check(NUM[:len(num)],num):
- n+=1
- ans=[0 for i in range(n)]
- for i in range(n):
- '''
- ans = []
- Num = NUM[:len(num)]
- for i in range(len(NUM) - len(num) + 1):
- for j in range(1, 10):
- if not check(Num, mul_one(num, j)):
- ans.append(j - 1)
- break
- if len(num) + i != len(NUM):
- Num = dif(Num, mul_one(num, ans[-1])) + NUM[len(num) + i]
- if ans[0] == 0:
- ans = ans[1:]
- print(*ans)
- print(*dif(Num, mul_one(num, ans[-1])))
- N = input()
- n = input()
- NUM = [int(i) for i in N]
- num = [int(i) for i in n]
- div(NUM, num)
- '''
- arr = dif(NUM, num)
- for i in arr:
- print(i, end='')
- print()
- print(12345678901234567890-1000)
- 12345678901234567890
- 1000
- '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement