这是一道正整数分解的题,求问为什么会这样?
我知道代码少写了一步,但是为什么会出现这样的结果?以下为原代码:import math
i = int(input("请输入一个整数:"))
def factorization(i):
for j in range(2, int(math.sqrt(i)) + 1):
print('a', i)
if i % j == 0:
print('b', i)
i = i // j
print(j)
print("i", i)
factorization(i)
factorization(i)
因为结果分解出来是2,3,3,5,3,3,5(应该是2,3,3,5才对),为了搞明白后面的3,3,5是从哪来的,于是我在前后都加了print a,b
返回的结果经产出现下图
求问为什么a的值会变化?感谢!