解题思路:
首先自定义函数判断是否为质数;
分解质因数时:先找最小质因数flag,然后递归找n//flag的最小质因数
参考代码:
# 自定义函数来判断是否是质数 def isPrime(n): for i in range(2, n//2+1): if n%i==0: return False return True # 分解质因数 def func(n, nums): flag = 1 for i in range(2, n//2+1): if n%i==0 and isPrime(i): # 找到了最小的质因数 nums.append(str(i)) flag = i break if flag!=1: # 找到最小的质因数flag,再找n//flag的最小质因数 func(n//flag, nums) else: # flag=1则说明只有本身是质因数 nums.append(str(n)) a,b = map(int, input().split()) for i in range(a, b+1): nums = [] func(i, nums) print('{}={}'.format(str(i),'*'.join(nums)))
0.0分
1 人评分
1908题解浏览:680 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:727 |
DNA (C语言代码)浏览:440 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:569 |
用筛法求之N内的素数。 (C语言代码)浏览:595 |
输出九九乘法表 (C语言代码)浏览:1172 |
简单的a+b (C语言代码)浏览:600 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:820 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:1108 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:489 |