要想做到python语言求因数方法,首先要明白其中的原理:

1、对由123456789这九个数字组成的9位数进行分解质因数。

2、123457698=2x3x3x7x13x23x29x113,所以他的最大值因数是113。

3、总共有362880种可能,从中找出最大值因数中最小的数字和最大值因数中最大的数。

相关推荐:《Python入门教程》

好了,下面来看看python语言求因数方法的实现源码:#coding:utf-8

import math

def generator(count, s):

if count == 1:

for i in s:

yield i

else:

for i in s:

_ = set(s)

_.remove(i)

for _ in generator(count-1, _):

yield _ * 10 + i

primes = [2, 3]

def prime(idx):

if idx

return primes[idx]

new = primes[-1]+2

while True:

for i in primes:

if new % i == 0:

break

else:

primes.append(new)

break

new += 2

return prime(idx)

def probe(number, idx, value=0):

if value > number:

return value

p = prime(idx)

sqrt = math.sqrt(number)

while number % p != 0 and sqrt >= p:

idx += 1

p = prime(idx)

if sqrt

return number

return probe(number/p, idx, max(p, value))

if __name__ == '__main__':

_min = 10000000000, 10000000000

_max = 0, 0

for number in generator(9, set(range(1, 10))):

maxfactor = probe(number, 0)

if maxfactor

_min = maxfactor, [number]

elif maxfactor == _min[0]:

_min[1].append(number)

if maxfactor > _max[0]:

_max = maxfactor, [number]

elif maxfactor == _max[0]:

_max[1].append(number)

print _min

print _max

python求10的所有因数_python怎么求因数相关推荐

  1. python求10以内的素数_python如何求100以内的素数

    方法一,用for循环来实现 num=[]; i=2 for i in range(2,100): j=2 for j in range(2,i): if(i%j==0): break else: nu ...

  2. python计算最大公约数和最小公倍数_python怎么求最大公约数和最小公倍数

    python怎么求最大公约数和最小公倍数 一.求最大公约数 用辗转相除法求最大公约数的算法如下: 两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数.比如10和 ...

  3. python求10以内的素数_python 求100以内的素数

    看了几天Python语法, 写一个小作业. 看代码 for divisor in range(101): # range(x) 是 0到x-1 的list 数组 if divisor < 3: ...

  4. python求一组数中最大数_python如何求一组数的最大值?_后端开发

    php中session用法详解_后端开发 PHP中的session默认情况下是使用客户端的Cookie,当客户端的Cookie被禁用时,会自动通过[Query_String]来传递,其中[sessio ...

  5. python生成10个随机数字符串_python生成随机数、随机字符串

    python生成随机数.随机字符串 import random import string # 随机整数: print random.randint(1,50) # 随机选取0到100间的偶数: pr ...

  6. python循环10次怎么写_python循环怎么写

    python中的循环语句,可使用for循环,或者while循环.两者的区别是,for循环要求提前知道要循环的次数,而while循环只要满足条件就会循环,直到条件不符合,跳出循环.下面是while循环的 ...

  7. python求一组数的最大值_python快速求一个数组的最大值/最小值及其索引

    enumerate()函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标. x = [3, 2.2, 7.4, 6, 4] list(enumerate( ...

  8. python编程求最大公约数和最小公倍数_python怎么求最大公约数和最小公倍数

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  9. python求数字平均值_python 求10个数的平均数实例

    python 求10个数的平均数实例 更新时间:2019年12月16日 18:00:02 作者:qq_20076527 今天小编就为大家分享一篇python 求10个数的平均数实例,具有很好的参考价值 ...

最新文章

  1. Unity扩展编辑器二
  2. linux基础命令练习,Linux常用命令练习
  3. Redis压缩列表原理与应用分析
  4. django-模型类字段类型
  5. Python 项目中requirements.txt依赖文件的使用
  6. 计算机桌面文件自动备份取消,电脑如何取消自动备份_电脑怎么取消自动备份...
  7. ORACLE对字符串去空格处理(trim)
  8. 劳务派遣计算机信息管理系统,劳务派遣人员信息管理系统
  9. 用PPT就可以做印章?是的,超简单超逼真,教你一分钟搞定
  10. 原生微信小程序下拉刷新和加载动画
  11. 文化学刊杂志文化学刊杂志社文化学刊编辑部2022年第3期目录
  12. 怎样取消QQ的热键(快捷键)
  13. 宇宙简史——星光中有什么秘密?
  14. 思必驰CMO龙梦竹:万物可沟通,万事可打理
  15. 遭遇腾讯SOSO爬虫攻击
  16. Python爬虫---影评的爬取
  17. 独立站引流,转化率不高怎么做
  18. 一加手机刷机 Kali Nethunter
  19. matlab输入多项式 教程,MATLAB多项式 - Matlab教程
  20. 服务器设置播放mp4文件,服务器设置播放mp4视频

热门文章

  1. java中关键字volatile的作用(转载)
  2. [蘑菇街] 搜索、算法团队招募牛人啦-年底了走过路过不要错过 - V2EX
  3. JavaScript求当月天数
  4. [原创]用递归写的一个object 转换成JSON的函数
  5. 数据备份软件,BackBone,NetVault,网络存储备份,系统集成
  6. BS-GX-016基于SSM实现教材管理系统
  7. 使用【飞桨】实现【手写数字识别】
  8. jieba分词中cut和lcut的区别
  9. Python中遍历整个列表及注意点(参考书籍Python编程从入门到实践)
  10. 红帽RHEL6.8离线环境下升级到RHEL7.3