|
发表于 2021-2-3 23:50:40
|
显示全部楼层
本帖最后由 jackz007 于 2021-2-4 00:16 编辑
- def maxfactor(n):
- i , r = 2 , 0
- while i * i < n + 1:
- if n % i == 0:
- r = n // i
- break
- i += 1
- return r
- while True:
- f = True
- while True: # 专门用于获取整型数输入,循环结束条件,输入整型数或按下空回车键
- print()
- s = input('请输入一个大于 1 的整数:') . strip()
- print()
- if s:
- try:
- n = int(s)
- break
- except ValueError:
- print('*** 错误 : %s 不是整数。' % s)
- else:
- f = False
- break
- if f: # 如果上面的循环输入的是空回车,那么,f = False
- if n > 1: # 只有输入的整数大于 1 才进行后续的操作。
- k = maxfactor(n)
- if k : # 如果 k > 0 ,那么,k 本身就是最大约数。
- print('%d 的最大约数是 : %d ' % (n , k))
- else: # k == 0 意味着 n 是素数
- print('%d 是素数。' % n)
- else:
- print('%d 不是一个大于 1 的整数。' % n)
- else:
- break
复制代码 |
|