Python使用递归法对整数进行因数分解
所谓因数分解,是指把一个整数变成其所有质因数相乘的形式,例如10=2*5, 39000=2*2*2*3*5*5*5*13。
from random import randint
def factors(num, fac=[]):
#每次都从2开始查找因数
for i in range(2, int(num**0.5)+1):
#找到一个因数
if num%i == 0:
fac.append(i)
#继续分解,重复这个过程
factors(num//i, fac)
#注意,这个break非常重要
break
else:
#不可分解了,自身也是个因数
fac.append(num)
facs = []
n = randint(2, 10**8)
factors(n, facs)
result = '*'.join(map(str, facs))
if n == eval(result):
print(n, '=', result)
代码截图如下:
连续几次的运行结果:
Python使用递归法对整数进行因数分解相关推荐
- 用递归法将一个整数n转换成字符串
用递归法将一个整数n转换成字符串(C语言) 题目要求:如标题.例如,输入481,应输出字符串"483".n的位数不确定,可以是任意位数的整数. 思路: 设定函数function(i ...
- 递归法:整数划分问题(怎么进行划分呢)
问题:整数划分问题 例如,正整数6有如下11种划分: 6; 5+1; 4+2,4+1+1; 3+3,3+2+1,3+1+1+1; 2+2+2,2+2+1+1,2+1+1+1+1; 1+1+1+1+1+ ...
- c++用递归法将一个整数n转换成字符串
先来描述一下问题: C++用递归的方法把一个整数n转换成字符串可以是任意位的整数. 话不多说,直接上代码. #include<iostream> #include<string> ...
- python用递归法写斐波那契_python实现斐波那契数列: 递归+备忘录法+动态规划实现...
1.为什么备忘录法和动态规划法: 斐波那契是很多人入门递归思想的第一课,所以很多人都会最简单的一种递归写法,但是其实递归的过程,他的时间复杂度非常高,达到了O(2的n次方)这样的一个指数级别. 先看最 ...
- python函数递归法求一个数各位数之和_python – 设计一个使用digit_sum计算数字总和的递归函数...
要获得(正整数)数字的最后一位数,您可以计算模数: last_digit = n % 10 该数字的其余部分(不包括最后一个地方)是: rest = (n - last_digit) / 10 理论上 ...
- python函数递归法求一个数各位数之和_Python基础之内置函数和递归
一.内置函数 下面简单介绍几个: 1.abs() 求绝对值 2.all() 如果 iterable 的所有元素都为真(或者如果可迭代为空),则返回 True 3.any() 如果 iterable 的 ...
- java用递归将数字转换字符串_用递归法将一个整数n转换成字符串,例如输入483,应该输出字符串483,n的位数不确定。...
[单选题]定义一个特定染色体的带时,下列哪项是不必要的 [单选题]刮削后的工件表面,形成了比较均匀的微浅凹坑,创造了良好的存油条件,改善了相对运动件之间的( )情况. [填空题]锯条的长度是以____ ...
- 零基础学Python———求一个字符串的每个字符重新组合排列python排列组合的数学运算(递归法)
1.数学知识温习 全排列的公式为: Anm:A _n^m : Anm: 以 " AABBCC " 为例,全排列的公式有: A66=6!:A _6^6 = 6! : A66=6! ...
- C语言-递归法将一个数字转换成字符串
任务描述 本关任务:用递归法将一个整数 n (任意位数的整数)转换成字符串,并输出,各个字符之间用空格隔开. 例如,输入483,应输出字符串4 8 3. 测试输入:123456789 预期输出:1 2 ...
最新文章
- oracle挂堎,Oracle 冷拷备实例挂到新ORACLE时应注意问题。
- 记一次Quartz重复调度(任务重复执行)的问题排查
- 在html页面比较两个时间戳,如何比较C中的两个时间戳?
- MVC路由中routes.IgnoreRoute({resource}.axd/{*pathInfo}) 到底什么意思!
- sscanf函数和正则表达式
- 如何批量查询PR值、百度权重、百度快照及收录量,用BlueCatTools批量网站查询工具
- Fortran77基础
- IDEA 导出UML类图
- 单循环比赛算法设计c语言,单循环赛中选手胜负序列求解问题-数据结构与算法课程设计报告.doc...
- linux 可道云_腾讯云linux+kodexplorer可道云搭建私有云盘
- CMMB手机电视到了芯片企业创新的时侯
- [HDCTF2019]Maze
- python日程表代码_【算法提高班】《我的日程安排表》系列
- 易语言html加密解密,易语言实现-JScript.Encode加密解密(一)
- CM 安装及部署操作
- java 由普通用户升级为会员_java20(判断是否为会员)
- 深度学习算法中卷积神经网络的应用
- Handle初解,看完你就懂了handle
- idea配置git仓库(idea配置git)详细
- matlab上万大型矩阵求逆,要好好总结一下超大矩阵求逆的技巧了
热门文章
- 计算机二级制作简历张静,张静的简历值30分!其他都不是问题
- 计算机网络是一个 系统,计算机网络是一个什么系统
- could not start avd怎么解决_双十一又到了,你的购物车塞满了吗?「购物车」用英语该怎么说?...
- linux主机重启之后,报UNEXPECTED INCOMSISTEMCY:RUN fsck MANUALLY.
- CPU飙高 解决方法
- Spring AOP之HelloWorld与概念介绍(xml版)
- Ehcache小结(二)
- linux实现任务计划,linux cron实现计划任务
- python入门第六章 信息安全策略-文件备份 用户账户管理
- 基于JAVA+Servlet+JSP+MYSQL的网上书城