设计一个算法,利用栈实现质因数分解,要求输出格式形如:300=55322
2条回答 默认 最新
关注 望采纳,谢谢
import math class Stack: def __init__(self): self.items = [] def isEmpty(self): return self.items == [] def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def peek(self): return self.items[len(self.items)-1] def size(self): return len(self.items) def is_prime(x): if x == 2: return True for i in range(2, int(math.sqrt(x)) + 1): if x % i == 0: return False return True s1 = Stack() num = int(input()) while not is_prime(num): for i in range(2, int(math.sqrt(num)) + 1): if (num % i == 0 and is_prime(i)): s1.push(i) num //= i break s1.push(num) while not s1.isEmpty(): print(s1.pop(),end='')
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
- ¥15 python爬取bilibili校园招聘网站
- ¥30 求解达问题(有红包)
- ¥15 请解包一个pak文件
- ¥15 不同系统编译兼容问题
- ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
- ¥30 数字电源对DSP芯片的具体要求
- ¥20 antv g6 折线边如何变为钝角
- ¥30 如何在Matlab或Python中 设置饼图的高度
- ¥15 nginx中的CORS策略应该如何配置