假设n是一个正整数,它的值不超过1000000,请编写一个程序,将n分解为若干个素数的乘积。

输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据输入一个正整数n(1< n ≤1000000)。

输出格式:
每组测试对应一行输出,输出n的素数乘积表示式,式中的素数从小到大排列,两个素数之间用一个“*”表示乘法。若输入的是素数,则直接输出该数。

输入样例:

2
9828
88883

输出样例:

2*2*3*3*3*7*13
88883

代码:

def print_list(lst):for i in range(len(lst)):if i != len(lst) - 1:print(lst[i], end='*')else:print(lst[i])def is_sushu(n):for i in range(2, n):if n % i == 0:return Falseelse:return Truelst = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47,53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109,113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179,181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241,251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313,317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389,397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461,463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547,557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617,619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691,701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773,787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859,863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947,953, 967, 971, 977, 983, 991, 997]
t = int(input())
for i in range(t):n = int(input())if is_sushu(n):print(n)else:result = nk = 0yin_lst = []while result and k < len(lst):if result % lst[k] == 0:yin_lst.append(lst[k])result = int(result / lst[k])else:k += 1print_list(yin_lst)


下面这个是正确代码

def print_list(lst):for i in range(len(lst)):if i != len(lst) - 1:print(lst[i], end='*')else:print(lst[i])def is_sushu(n):for i in range(2, n):if n % i == 0:return Falseelse:return True
t = int(input())
for i in range(t):n = int(input())if is_sushu(n):print(n)else:x = 2yin_list = []while x <= int(n**0.5):if n % x != 0:x += 1else:yin_list.append(x)n = int(n/x)yin_list.append(n)print_list(yin_list)

PTA(每日一题)7-66 分解素因子相关推荐

  1. 蓝桥每日真题之整数分解

    题目来源 2021年蓝桥省赛第二场D题 题目连接:http://acm.mangata.ltd/p/P1102 视频讲解 https://www.bilibili.com/video/BV11L4y1 ...

  2. Leetcode每日一题:66.plus-one(加一)

    思路:先把最后一位数字加1,如果大于10,就置零,然后往前加1: vector<int> plusOne(vector<int> &digits){int len = ...

  3. PTA(每日一题)7-59 武林盟主

    在传说中的江湖中,各大帮派要选武林盟主了,如果龙飞能得到超过一半的帮派的支持就可以当选,而每个帮派的结果又是由该帮派帮众投票产生的,如果某个帮派超过一半的帮众支持龙飞,则他将赢得该帮派的支持.现在给出 ...

  4. PTA(每日一题)7-43 验证哥德巴赫猜想

    哥德巴赫猜想之一是指一个偶数(2除外)可以拆分为两个素数之和.请验证这个猜想. 因为同一个偶数可能可以拆分为不同的素数对之和,这里要求结果素数对彼此最接近. 输入格式: 首先输入一个正整数T,表示测试 ...

  5. PTA(每日一题)7-49 互质数

    Sg认识到互质数很有用.若两个正整数的最大公约数为1,则它们是互质数.要求编写函数判断两个整数是否互质数. 输入格式: 首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据.每组测试先输入1个 ...

  6. PTA(每日一题)7-75 某校几人

    某学校教职工人数不足n人,在操场排队,7个一排剩5人,5个一排剩3人,3个一排剩2人:请问该校人数有多少种可能?最多可能有几人? 输入格式: 测试数据有多组,处理到文件尾.每组测试输入一个整数n(1≤ ...

  7. PTA(每日一题)7-1 jmu-JavaPython-统计一段文字中的单词个数并按单词的字母顺序排序后输出

    现需要统计若干段文字(英文)中的不同单词数量. 如果不同的单词数量不超过10个,则将所有单词输出(按字母顺序),否则输出前10个单词. **注1:**单词之间以空格(1个或多个空格)为间隔. **注2 ...

  8. PTA(每日一题)7-61 简单的归并

    已知数组A和B各有m.n个元素,且元素按值非递减排列,现要求把A和B归并为一个新的数组C,且C中的数据元素仍然按值非递减排列. 例如,若A=(3,5,8,11),B=(2,6,8,9,11,15,20 ...

  9. PTA(每日一题)7-16 jmu-分段函数l

    本题目要求计算以下分段函数的值(x为从键盘输入的一个任意实数): 如果输入非数字,则输出"Input Error!" 输入格式: 在一行中输入一个实数x. 输出格式: 在一行中按& ...

最新文章

  1. 最新技术选型解决方案列表
  2. Greenplum——升级的分布式PostgresSQL
  3. 【正一专栏】巴萨四大皆空怎么办
  4. 浙江农林大学第二十一届程序设计竞赛校选拔赛(同步)
  5. 表单提交时submit验证非空return false没用_开发这样一个复杂的表单你需要用多久...
  6. Python模块学习
  7. 支持4k输出的linux开发板,Linux 5.12率先开始支持SiFive的RISC-V FU740开发板
  8. Android 获取毫秒时间戳
  9. REST-assured基本使用
  10. Liunx安装Ubuntu系统
  11. 02 shell编程之条件语句
  12. 如何制作视频画面水平镜像播放特效
  13. hadoop 结合zookeeper 高可用 优化新特性
  14. 都说在阿里年薪百万不难,面试入职阿里需要准备什么?
  15. 科学计数法e/E?计算机?表示?
  16. php后门工具_教你识别简单的免查杀PHP后门
  17. 把QQ聊天记录插入数据库中
  18. 2023 年的 Web Worker 项目实践
  19. 如何从iCloud共享iWork文档
  20. Husky仿真环境配置

热门文章

  1. WPS 无法覆盖选中文字
  2. oracle 表空间文件达到32G后解决办法
  3. 基于php的酒店管理系统文献综述,酒店管理系统文献综述酒店管理系统文献综述.ppt...
  4. CCF认证 201712-4 行车路线(100分)
  5. OPENWRT系统学习系列之一(系统源码到编译固件和烧录固件)
  6. 频率选择性衰落、时间选择性衰落
  7. 【雷达原理】FMCW雷达简介
  8. C++中四种类型转换运算符的使用方法
  9. Allegro PCB 图纸大小及坐标原点位置
  10. 图形学(6)多边形的区域填充