所谓因数分解,是指把一个整数变成其所有质因数相乘的形式,例如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使用递归法对整数进行因数分解相关推荐

  1. 用递归法将一个整数n转换成字符串

    用递归法将一个整数n转换成字符串(C语言) 题目要求:如标题.例如,输入481,应输出字符串"483".n的位数不确定,可以是任意位数的整数. 思路: 设定函数function(i ...

  2. 递归法:整数划分问题(怎么进行划分呢)

    问题:整数划分问题 例如,正整数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+ ...

  3. c++用递归法将一个整数n转换成字符串

    先来描述一下问题: C++用递归的方法把一个整数n转换成字符串可以是任意位的整数. 话不多说,直接上代码. #include<iostream> #include<string> ...

  4. python用递归法写斐波那契_python实现斐波那契数列: 递归+备忘录法+动态规划实现...

    1.为什么备忘录法和动态规划法: 斐波那契是很多人入门递归思想的第一课,所以很多人都会最简单的一种递归写法,但是其实递归的过程,他的时间复杂度非常高,达到了O(2的n次方)这样的一个指数级别. 先看最 ...

  5. python函数递归法求一个数各位数之和_python – 设计一个使用digit_sum计算数字总和的递归函数...

    要获得(正整数)数字的最后一位数,您可以计算模数: last_digit = n % 10 该数字的其余部分(不包括最后一个地方)是: rest = (n - last_digit) / 10 理论上 ...

  6. python函数递归法求一个数各位数之和_Python基础之内置函数和递归

    一.内置函数 下面简单介绍几个: 1.abs() 求绝对值 2.all() 如果 iterable 的所有元素都为真(或者如果可迭代为空),则返回 True 3.any() 如果 iterable 的 ...

  7. java用递归将数字转换字符串_用递归法将一个整数n转换成字符串,例如输入483,应该输出字符串483,n的位数不确定。...

    [单选题]定义一个特定染色体的带时,下列哪项是不必要的 [单选题]刮削后的工件表面,形成了比较均匀的微浅凹坑,创造了良好的存油条件,改善了相对运动件之间的( )情况. [填空题]锯条的长度是以____ ...

  8. 零基础学Python———求一个字符串的每个字符重新组合排列python排列组合的数学运算(递归法)

    1.数学知识温习 全排列的公式为: Anm:A _n^m : Anm​: 以 " AABBCC " 为例,全排列的公式有: A66=6!:A _6^6 = 6! : A66​=6! ...

  9. C语言-递归法将一个数字转换成字符串

    任务描述 本关任务:用递归法将一个整数 n (任意位数的整数)转换成字符串,并输出,各个字符之间用空格隔开. 例如,输入483,应输出字符串4 8 3. 测试输入:123456789 预期输出:1 2 ...

最新文章

  1. oracle挂堎,Oracle 冷拷备实例挂到新ORACLE时应注意问题。
  2. 记一次Quartz重复调度(任务重复执行)的问题排查
  3. 在html页面比较两个时间戳,如何比较C中的两个时间戳?
  4. MVC路由中routes.IgnoreRoute({resource}.axd/{*pathInfo}) 到底什么意思!
  5. sscanf函数和正则表达式
  6. 如何批量查询PR值、百度权重、百度快照及收录量,用BlueCatTools批量网站查询工具
  7. Fortran77基础
  8. IDEA 导出UML类图
  9. 单循环比赛算法设计c语言,单循环赛中选手胜负序列求解问题-数据结构与算法课程设计报告.doc...
  10. linux 可道云_腾讯云linux+kodexplorer可道云搭建私有云盘
  11. CMMB手机电视到了芯片企业创新的时侯
  12. [HDCTF2019]Maze
  13. python日程表代码_【算法提高班】《我的日程安排表》系列
  14. 易语言html加密解密,易语言实现-JScript.Encode加密解密(一)
  15. CM 安装及部署操作
  16. java 由普通用户升级为会员_java20(判断是否为会员)
  17. 深度学习算法中卷积神经网络的应用
  18. Handle初解,看完你就懂了handle
  19. idea配置git仓库(idea配置git)详细
  20. matlab上万大型矩阵求逆,要好好总结一下超大矩阵求逆的技巧了

热门文章

  1. 计算机二级制作简历张静,张静的简历值30分!其他都不是问题
  2. 计算机网络是一个 系统,计算机网络是一个什么系统
  3. could not start avd怎么解决_双十一又到了,你的购物车塞满了吗?「购物车」用英语该怎么说?...
  4. linux主机重启之后,报UNEXPECTED INCOMSISTEMCY:RUN fsck MANUALLY.
  5. CPU飙高 解决方法
  6. Spring AOP之HelloWorld与概念介绍(xml版)
  7. Ehcache小结(二)
  8. linux实现任务计划,linux cron实现计划任务
  9. python入门第六章 信息安全策略-文件备份 用户账户管理
  10. 基于JAVA+Servlet+JSP+MYSQL的网上书城