python3编程题!有大佬会吗?最小操作次数

给定两个自然数a和b,要求对这两个数做N次操作后,两个数的值最终相等,第i次操作中,选择a或b,对其加i,请计算使a和b相等的最小操作次数

算法分析 以27和20为例,首先求出a和b的差,这个差先由从1开始的自然数相加填补,

也就是说27和20差7,先由1+2+3=6填补,操作了3次,然后还差1,由a加4,b加5填补

操作了2次,因为对a和b分别操作了1次,所以要乘以2,因此有公式count=i-1+(c-n)*2

按照你的要求编写的完整的Python程序如下

a,b=map(int,input('请输入a,b的值(中间用空格隔开):').split())

if a>b:

 c=a-b

else:

 c=b-a

n=0

i=0

while n<=c:

 i+=1

 n=n+i

n=n-i

count=i-1+(c-n)*2

print("使%d和%d相等的最小操作次数为%d" % (a,b,count))

源代码(注意源代码的缩进)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-08-29
两个自然数怎么操作???比如5和10两个数本身怎么操作?追问

你好,配上图片举例说明了下

相似回答