191010 python3分解质因数
# 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
# 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
# (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
# (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
# (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
方法一:利用列表append方法添加因数;
num = int(input("请输入一个合数:"))
n = num
list1 = []
for i in range(int(n/2)+1):
# range对象只能是正整数,n/2可能产生小数
# 循环次数:n最大的因子是本身(质数),最小的因子是2,
# 所以最大循环次数n/2即可
for j in range(2,n):
if num%j == 0:
list1.append(j)
num = num//j
break
'''
for j in range(2,n):
# 如果j能被整除,则j是一个因子,但如果j能被整除多次,但只会记录一次;
if num%j == 0:
list1.append(j)
num = num//j
continue
'''
if len(list1)==0:
print("此数是质数,请重新输入另一个数。")
exit()
print(list1)
print('%d='%n,end='')
for k in range(len(list1)):
if k == len(list1)-1:
print('%s'%list1[k])
else:
print('%s*'%list1[k],end='')
方法二:利用format方法添加因数;
def reduceNum(n):
print('{}='.format(n),end='')
if not isinstance(n,int) or n<=0:
# isinstance判断数据n是否为int数据类型;
print('请输入一个正确的数字!')
exit(0)
elif n in [1]:
print('{}'.format(n))
while n not in [1]:
for i in range(2,int(n+1)):
if n%i==0:
n/=i
if n==1:
print(i)
else:
print('{}*'.format(i),end='')
break #reduceNum(-90)
reduceNum(1)
参见菜鸟教程:https://www.runoob.com/python/python-exercise-example14.html
191010 python3分解质因数的更多相关文章
- python3 分解质因数
python3 分解质因数 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan num = int(input(&quo ...
- java分解质因数
package test; import java.util.Scanner; public class Test19 { /** * 分析:对n进行分解质因数,应先找到一个最小的质数k * 最小 ...
- 程序设计入门——C语言 第6周编程练习 1 分解质因数(5分)
1 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. ...
- 【python】将一个正整数分解质因数
def reduceNum(n): '''题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5''' print '{} = '.format(n), : print 'Pleas ...
- light oj 1236 分解质因数
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=70017#problem/H 题意:求满足1<=i<=j<=n ...
- 【基础数学】质数,约数,分解质因数,GCD,LCM
1.质数: 质数(prime number)又称素数,有无限个.一个大于1的自然数,除了1和它本身外,不能整除以其他自然数(质数),换句话说就是该数除了1和它本身以外不再有其他的因数. 2.约数: 如 ...
- 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m
给定两个数m,n,其中m是一个素数. 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m. 输入 第一行是一个整数s(0<s<=100),表示测试数据的组数 随后 ...
- cdoj 1246 每周一题 拆拆拆~ 分解质因数
拆拆拆~ Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1246 Descri ...
- hdu 5428 The Factor 分解质因数
The Factor Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/contest ...
随机推荐
- Angularjs Select获取数组下标
一.定义资源 //资源类型 $scope.status=['项目测试','开发工具','安装包','工作计划','测试项目','我的游戏','我的音乐','博客首页图片']; 二.没错直接用 {{$ ...
- MySQL索引知识点及面试常问题
索引的功能 索引可以大幅增加数据库的查询的性能,在实际业务场景中,或多或少都会使用到. 但是索引是有如下 2 个代价的: 需要额外的磁盘空间来保存索引 对于插入.更新.删除等操作由于更新索引会增加额外 ...
- Jq如何获取并操作iframe中的元素?
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- Java虚拟机栈(java stack)
虚拟机栈(java stack) 百度图片搜索里的动图搜索功能不错,可以搜索一些动图,展示操作数栈的操作过程,比较形象.这点google差点意思 虚拟机栈(jvm stacks)是线程独占的 里面是多 ...
- ObjectARX创建带文字的线型实例代码
AcDbLinetypeTable* pLinetypeTable=NULL; Acad::ErrorStatus es = acdbHostApplicationServices()->wor ...
- php_mvc实现步骤三,四
3.match_mvc MVC 以ecshop的前台为例: 功能一: 首页 购物车数据,商品分类数据,其他的首页需要的数据 功能二: 拍卖活动 购物车数据,商品分类数据,拍卖相关数据 功能三: 团购商 ...
- VS+OpenGl 显示三维STL模型 代码
今天调出了用VS环境结合OpenGL glut工具包进行显示STL模型的模块,进行了渲染.效果: 如下,后期会进行进一步优化,先贴上: #ifndef DATA_H #define DATA_H st ...
- react中使用typescript时,error: Property 'setState' does not exist on type 'Home'
问题描述: 我在react中用typescript时,定义一个Home组件,然后在组件里用setState时会有这样一个报错:(如图)Property 'setState' does not exis ...
- spring整合quartz报错
今天spring整合quartz报错,最后一步步排查,发现是和redis依赖冲突,最后redis升级了一下,问题解决. 总结:发现问题,逐一排查,如果是整合问题,报类加载不到的错误,大概率是和其他组件 ...
- win10 远程连接怎么设置快捷方式
在桌面空白处右键,选择新建快捷方式,然后输入命令:C:\windows\system32\mstsc.exe,点击下一步,然后输入快捷方式名称:远程连接,点击确定即可.