Python程序:判断正整数是否为素数并输出质因子表达式
要求实现一个程序,该程序读取一个正整数n(n>1),如果它是素数,则输出"n是素数";如果不是素数,则输出其质因子乘积的表达式,且质因子需要从小到大排列。 以下是Python代码实现: ```python def is_prime(num): if num <= 1: return False for i in range(2, int(num**0.5) + 1): if num % i == 0: return False return True def prime_factors(num): factors = [] for i in range(2, num + 1): while num % i == 0 and i not in factors: factors.append(i) num //= i return factors def main(): n = int(input().strip()) if n <= 1: print("输入的数字应大于1") return if is_prime(n): print(f"{n}是素数") else: factors = prime_factors(n) factors_str = "*".join(map(str, factors)) print(f"{n}={factors_str}") if __name__ == "__main__": main() ``` ### 解释: 1. **is_prime函数**:判断一个数字是否为素数。如果是素数返回True,否则返回False。 2. **prime_factors函数**:获取一个数字的所有质因子,并按从小到大的顺序返回这些质因子的列表。 3. **main函数**:读取输入的数字n,调用`is_prime`函数判断它是否为素数。如果是素数,直接输出结果;如果不是素数,调用`prime_factors`函数获取质因子列表,并将其格式化为字符串输出。 ### 示例: - 输入:2 - 输出:2是素数 - 输入:100 - 输出:100=2*2*5*5 ######[AI写代码神器 | 478点数解答 | 2024-11-20 15:37:17]
- 递归下降语法分析程序实例:从文法到 C 代码的完整实现(字节豆包 | 1371点数解答 | 2024-12-12 22:46:04)279
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)498
- SQL 实现:精准查询 20 岁选课学生学号、姓名、平均与总成绩(去重取最高) (字节豆包 | 116点数解答 | 2024-10-21 00:46:57)224
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)451
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)443
- Java调用Python接口中文乱码?设置UTF - 8编码一招解决!(讯飞星火 | 263点数解答 | 2024-06-06 17:07:59)421
- 解决Java调用Python接口中文乱码问题:设置UTF - 8编码全攻略(讯飞星火 | 160点数解答 | 2024-06-06 17:18:39)445
- Java调用Python接口中文乱码问题:字符编码统一解决方案(讯飞星火 | 344点数解答 | 2024-06-06 17:19:55)552
- 解决Java调用Python接口时中文值乱码问题:设置字符编码为UTF-8(讯飞星火 | 264点数解答 | 2024-06-06 17:27:09)418
- Python 实现超有趣大鱼吃小鱼游戏,从初始 1 级开启进化之旅!( | 767点数解答 | 2024-05-31 11:50:29)263
- Python 实现移位与仿射密码:精准加密解密及关键逻辑解析(字节豆包 | 798点数解答 | 2024-12-18 15:55:47)282
- JavaScript 开发揭秘:表达式 {{data}} 的工作原理及模板字符串应用(阿里通义 | 226点数解答 | 2023-11-09 01:17:26)255