【py交易】算法竞赛入门经典5.4.2 因子和阶乘 Python
来源:互联网 发布:淘宝网页设计教程 编辑:程序博客网 时间:2024/06/11 08:47
题目:
分析:
0.825除以2,除不尽(共0次);除以3,能除尽,再除以3,除不尽(共1次);除以5,能除尽,再除以5,能除尽,再除以5,除不尽(共2次)。。。所以为01201
1.输入一个数,计算这个数的阶乘,需要一个计算阶乘的函数:factorial,用到了递归
2.需要一个素数集,用isPrime函数
3.要用到键值对的存储结构,py可以用字典类存储,声明方法是 dick = {},key是素数,value是被除次数,初始的value是0
4.遍历每一个素数,用输入数的阶乘除以这个素数,能除尽,这个素数key对应的value加1,直到不能除尽
5.需要一个记录能被某某阶乘除尽的最大素数,以便去掉高位没用的0
6.py居然不能用 index++,只能用index +=1 or index = index+1
# coding=utf-8import math"判断一个数是否是素数""@param n 需要判断的数""@return 0不是素数 1是素数"def isPrime(n): isOk = 1#是素数 for i in range(2,int(math.sqrt(n))+1,1): # print i # print n%i if n % i == 0: isOk= 0#不是素数 break return isOk"求一个数的阶乘""@param n 需要计算的数""@return 阶乘的结果"def facrorial(n): if n == 1: return 1 return n * facrorial(n-1)n = raw_input("")#输入的数number = facrorial(int(n))#计算输入数字的阶乘"构建质数字典,2~100的质数"index = 0primeArr = {}for i in range(2,101,1): if isPrime(i): primeArr[i] = 0 index += 1"遍历100以内的质数,能被数字整除的就是因子,继续除下去,直到不能除尽,记录除的次数"maxFactor = 0 #记录最大的质数,用于省略不必要的0for item in primeArr: isOk = 0 while number % item == 0:#能够除尽,说明是n的因子 primeArr[item] += 1 number = number / item isOk = 1 if isOk and primeArr[item] != 0: maxFactor = itemresult = ''#结果for item in primeArr: # print item,'=>',primeArr[item] result = result + " "+str(primeArr[item]) if item >= maxFactor: breakprint n,"! =",result
1 0
- 【py交易】算法竞赛入门经典5.4.2 因子和阶乘 Python
- 算法竞赛入门经典5.4.2因子和阶乘
- 【py交易】算法竞赛入门经典6.1.2 铁轨python
- 算法入门竞赛 5.4.2 因子和阶乘
- 算法竞赛入门经典 第五章 因子和阶乘
- 算法竞赛入门经典-第五章因子和阶乘
- 【py交易】算法竞赛入门经典5.4.3果园里的树 Python
- 【py交易】算法竞赛入门经典5.4.4 多少块土地 python
- 【py交易】算法竞赛入门经典6.1.1卡片游戏 python
- 【py交易】算法竞赛入门经典6.3.1 小球下落 python
- 算法竞赛入门经典:第五章 基础题目选解 5.10 因子和阶乘
- 算法竞赛入门——因子和阶乘
- 算法竞赛入门经典 5.2.2高精度阶乘
- 算法入门之因子和阶乘
- 因子和阶层~算法竞赛入门(基础篇-5.4.2)
- 【算法竞赛入门经典】阶乘的精确值
- 算法竞赛入门经典-阶乘的精确值
- 算法竞赛经典入门-第五章阶乘的精确值
- 读取数据库的时间格式时后面多了 .0
- 2016.11.22 封装上总结
- 支付系统对账算法优化方案
- 直播技术学习笔记(一)
- POI实现导入多sheet表excel实现
- 【py交易】算法竞赛入门经典5.4.2 因子和阶乘 Python
- python双向链表的疑问(Question)
- PHP中的SESSION与COOKIE
- UVALive 4097 Yungom (思路--set||优先队列的模拟)
- 一次线上OOM过程的排查
- 视图、索引、存储过程优缺点
- ubuntu server 14.04安装rails
- activiti 多实例实现会签
- VC的MFC中重绘函数的使用总结(整理)