Talk:扩展欧几里得算法
添加话题外观
Fire-and-Ice在话题“Python 部分程式碼,是不是可以簡化?”中的最新留言:6天前
![]() |
扩展欧几里得算法属于维基百科數學主题的基礎條目第五級。请勇于更新页面以及改進條目。 本条目属于下列维基专题范畴: |
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Python 部分程式碼,是不是可以簡化?
[编辑]目前長得像這樣:
def ext_euclid(a, b):
old_s, s = 1, 0
old_t, t = 0, 1
old_r, r = a, b
if b == 0:
return 1, 0, a
else:
while(r!=0):
q = old_r // r
old_r, r = r, old_r-q*r
old_s, s = s, old_s-q*s
old_t, t = t, old_t-q*t
return old_s, old_t, old_r
前面關於 b == 0 的判斷似乎有點多餘。是不是可以改成這樣呢?還是有什麼我忘記考慮到的地方?
def ext_euclid(a, b):
old_s, s = 1, 0
old_t, t = 0, 1
old_r, r = a, b
while r != 0:
q = old_r // r
old_r, r = r, old_r-q*r
old_s, s = s, old_s-q*s
old_t, t = t, old_t-q*t
return old_s, old_t, old_r
--Kevin pan 940506(留言) 2025年7月26日 (六) 19:00 (UTC)
- 我认为你写得没错。但我认为算法条目最多只应写伪代码,而不应写任何编程语言的实现。--Fire Ice 2025年7月26日 (六) 19:43 (UTC)