标题:这是一道正整数分解的题,求问为什么会这样?
取消只看楼主
Selinaaaa
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-8-4
结帖率:0
已结贴  问题点数:20 回复次数:0 
这是一道正整数分解的题,求问为什么会这样?
我知道代码少写了一步,但是为什么会出现这样的结果?以下为原代码:
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的值会变化?感谢!

搜索更多相关主题的帖子: 正整数 分解 代码 结果 print 
2018-08-04 08:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-489024-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.831130 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved