高精度减法
也就是用代码来模拟减法
的竖式计算
首先
先用字符串的形式来读入两个将要相减的数
记得去掉字符串后的空白或换行符
之后判断一下他们俩的索引大小
将大的设为a 小的为b
flag=0
将索引小的前面噻0直到和大的最大索引相同
在来定义一个用来存储答案的列表列表的最大索引为a数的最大索引+1
接下来开始倒序便利字符串
因为减法的竖式计算中是要从低位往高位走的,而高位的索引比低位的要小
接下来就开始计算了
定义一个 循环i
如果a[i]-b[i]是存入 ans[i] 中
如果他是负数 就将ans[i-1]-=1
这样就能完成借位
然后再将借到的10加回ans[i]
最后利用原来的flag(这里用来相反数)
如果flag是0
就将答案变-打出即可
下面承上代码
a=input().strip()
b=input().strip()
if int(a)>int(b):
t=0
if int(a)==int(b):
t=1
if int(a)<int(b):
t=2
c=a
a=b
b=c
for i in range(len(a)-len(b)):
b='0'+b
n=[0 for i in range(len(b))]
if t!=1:
for i in range(len(b)-1,-1,-1):
n[i]=n[i]+int(a[i])-int(b[i])
if n[i]<0:
n[i]+=10
n[i-1]-=1
if t==0:
ans=''
else:
ans='-'
for i in range(len(n)):
ans=ans+str(n[i])
print(int(ans))
复制时肯能发生错误❌