day9

---------------------------------------------------------------

实例014:分解质因数

题目 将一个整数分解质因数。例如:输入90,打印出90=233*5。

 分析:每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,叫做这个合数的分解质因数,算法思路网上找的,代码是自己敲的

 1 import math
2 # 先判断数num是否为合数,如果是,选择最小的质数k=2,进行分解质因数的过程:
3 # (1)如果k小等于num,程序继续执行;
4 # (2)如果num能被k整除,说明k是num的一个因数,并用num除以k的商作为新的正整数num,重复执行第一步;否则用k+1作为k的值,重复执行第一步
5
6 # a = int(input("请输入除1外的一个正整数:"))
7 for a in range(2,100):
8 if a >1:
9 for i in range(2,int(math.sqrt(a))+1):
10 if a%i ==0:
11 print(f"{a}是合数,有分解质因数",end="")
12 k = 2
13 a1= a
14 list = []
15 while k <= a1:
16 if a1==k and k!=2:
17 list.append(k)
18 break
19 elif a1%k ==0:
20 a1= a1/k
21 list.append(k)
22 continue
23 else:
24 k+=1
25 print("数为", list)
26 break
27 else:
28 continue
29 else:
30 print(f"{a}是质数,没有分解质因数")

看标准答案:根本不需要判断是否是质数,从2开始向数本身遍历,能整除的肯定是最小的质数。是对的,哈哈哈哈,我做复杂了,从14行看,比我少了一个循环

 1 target=int(input('输入一个整数:'))
2 print(target,'= ',end='')
3
4 if target<0:
5 target=abs(target)
6 print('-1*',end='')
7
8 flag=0
9 if target<=1:
10 print(target)
11 flag=1
12
13
14 while True:
15 if flag:
16 break
17 for i in range(2,int(target+1)):
18 if target%i==0:
19 print("%d"%i,end='')
20 if target==i:
21 flag=1
22 break
23 print('*',end='')
24 target/=i
25 break

python基础练习题(题目 将一个整数分解质因数。例如:输入90,打印出90=2*3*3*5)的更多相关文章

  1. python基础练习题(一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?)

    day2 --------------------------------------------------------------- 实例003:完全平方数 题目: 一个整数,它加上100后是一个 ...

  2. C# 练习题 将一个正整数分解质因数

    题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5.程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程 ...

  3. 【Python】【demo实验17】【练习实例】【将一个正整数分解质因数】

    题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 我的源代码: #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 ...

  4. 【python】将一个正整数分解质因数

    def reduceNum(n): '''题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5''' print '{} = '.format(n), : print 'Pleas ...

  5. Python基础练习题100例(Python 3.x)

    1:题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源 ...

  6. python基础练习题4

    题目:现有一个数据库记录文件(0005.txt)保证了学生课程签到的数据记录('2017-03-13 11:50:09',271,131),('2017-03-14 11:52:19',273,131 ...

  7. 整数分解 && 质因数分解

    输入整数(0-30)分解成所有整数之和.每四行换行一次. 一种方法是通过深度优先枚举出解.通过递归的方式来实现. #include <stdio.h> #include <strin ...

  8. python基础练习题1

    深深感知python基础是有多么重要,Ljh说一定要多练题,so,我现在开始要每天打卡练习python.加油! 01:求‘1-100’的偶数和 #第一种解法: sum=0 num=0 while nu ...

  9. 利用matlab实现以下功能:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    程序思路: 对n进行分解质因数,应先找到一个最小的质数k,从2开始,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n不等于k,则应打印出k的 ...

随机推荐

  1. python3 爬虫3--异常处理

    本文学习内容来自:https://germey.gitbooks.io/python3webspider/content/ urllib库中有URLError类,request模块产生的错误都可以通过 ...

  2. Apache Tomcat如何高并发处理请求

    介绍 作为常用的http协议服务器,tomcat应用非常广泛.tomcat也是遵循Servelt协议的,Servelt协议可以让服务器与真实服务逻辑代码进行解耦.各自只需要关注Servlet协议即可. ...

  3. Lock 深入理解acquire和release原理源码及lock独有特性acquireInterruptibly和tryAcquireNanos

    https://blog.csdn.net/sophia__yu/article/details/84313234 Lock是一个接口,通常会用ReentrantLock(可重入锁)来实现这个接口. ...

  4. SpringBoot和SpringCloud的区别?

    SpringBoot专注于快速方便的开发单个个体微服务. SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来, 为各个微服务之间提供 ...

  5. Kafka 判断一个节点是否还活着有那两个条件?

    (1)节点必须可以维护和 ZooKeeper 的连接,Zookeeper 通过心跳机制检查每 个节点的连接 (2)如果节点是个 follower,他必须能及时的同步 leader 的写操作,延时不能太 ...

  6. org.apache.kafka.common.errors.SerializationException: Error deserializing... Caused by: org.apache.kafka.common.errors.SerializationException: Size of data received by IntegerDeserializer is not 4

    原因,最近开发的kafka消息接收,突然报如下错: org.apache.kafka.common.errors.SerializationException: Error deserializing ...

  7. java中的函数式接口

    是什么?? 有且只有一个抽象方法的接口 场景: 适用于函数式编程场景(使用lambda表达式编程)的接口,函数式接口可以适用于lambda使用的接口. 只有确保接口中有且只有一个抽象方法,java中的 ...

  8. 简述 Mybatis 的插件运行原理,以及如何编写一个插件。

    Mybatis 仅可以编写针对 ParameterHandler.ResultSetHandler. StatementHandler.Executor 这 4 种接口的插件,Mybatis 使用 J ...

  9. idea推送项目到github

    参考: https://blog.csdn.net/SoWhatWorld/article/details/103817786?depth_1-utm_source=distribute.pc_rel ...

  10. 学习SVN03

    SVN版本控制系统最佳实践   第1章SVN介绍及应用场景 1.1什么是SVN(Subversion) Svn(subversion)是近年来崛起非常优秀的版本管理工具,与CVS管理工具一样,SVN是 ...