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. CVE-2017-7269(IIS远程代码执行)

    利用CVE-2017-7269让IIS向自己的msf反弹一个shell 漏洞编号:CVE2017-7269 服务器版本:Windows server 2003 中间件:IIS6.0 攻击工具:meta ...

  2. Android 12(S) 图形显示系统 - Surface 一点补充知识(十二)

    必读: Android 12(S) 图形显示系统 - 开篇 一.前言 因为个人工作主要是Android多媒体播放的内容,在工作中查看源码或设计程序经常会遇到调用API: static inline i ...

  3. hdu5322 Hope(dp+FFT+分治)

    hdu5322 Hope(dp+FFT+分治) hdu 题目大意:n个数的排列,每个数向后面第一个大于它的点连边,排列的权值为每个联通块大小的平方,求所有排列的权值和. 思路: 考虑直接设dp[i]表 ...

  4. BGP的四类属性详解

    BGP的四类属性 公认必遵(Well-known mandatory) 要求所有运行BGP协议的设备都必须能识别,且在更新消息中必须包含. Origin(起源) 属性 用来标识路由信息的来源. 如果路 ...

  5. Spring通知有哪些类型?

    (1)前置通知(Before advice):在某连接点(join point)之前执行的通知,但这个通知不能阻止连接点前的执行(除非它抛出一个异常). (2)返回后通知(After returnin ...

  6. SQL数据库之“TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)”

    一.介绍 样本:TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) 解析:TIMESTAMPDIFF(格式,开始时间,结束时间) 二.参数解析 格式: ...

  7. Vue报错之"[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead......"

    一.报错截图 [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the p ...

  8. matlab拟合函数的三种方法

    方法一:多项式拟合polyfit 1 x=[1 2 3 4 5 6 7 8 9]; 2 3 y=[9 7 6 3 -1 2 5 7 20]; 4 P= polyfit(x, y, 3) %三阶多项式拟 ...

  9. 18个基于 HTML5 Canvas 开发的图表库

    如今,HTML5 可谓如众星捧月一般,受到许多业内巨头的青睐.很多Web开发者也尝试着用 HTML 5 来制作各种各样的富 Web 应用.HTML 5 规范引进了很多新特性,其中之一就是 Canvas ...

  10. 接口combine

    需求描述 进行复杂项目开发时,服务端(数据接口实现端)会把接口拆分的比较细粒度,以方便在更多地方复用.而拆分后的接口在前端进行组合请求时,通常会出现一个区块要请求5.6个接口甚至更多接口请求才能拿到想 ...