![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
雨醉东风
人生苦短,我用Python!
展开
-
求N的阶乘中末尾有几个0
‘’’给定一个整数N,数值b=N*(N-1)(N-2)…21N的取值范围1~2**63-1求数值b最后有多少个0比如:N=5,输出1。数值b为120,数值b最后有1个0比如N=2152887270861,输出?‘’’直接求N的阶乘(数据太大时会内存溢出)def calTime(n): if n < 1: return '不在范围内' if n > (2** 63 - 1): return '不在范围内' b = 1 .原创 2021-11-24 00:05:43 · 535 阅读 · 0 评论 -
快乐数-判断一个数字是否是快乐数
快乐数‘’’快乐数(happy number)有以下的特性:在给定的进位制下,该数字所有数位(digits)的平方和,得到的新数再次求所有数位的平方和,如此重复进行,最终结果必为1。那么就是快乐数,输出true否则输出false示例:输入28,输出true28 → 22+82=68 → 62+82=100 → 12+02+0^2=1‘’’def judegHappNum(n): try: while (n!=1): if n<10原创 2021-11-22 23:19:37 · 2526 阅读 · 0 评论 -
拿钉子-输出满足条件的数字
‘’’有一堆钉子每次拿2个,最后剩1个;每次拿4个,最后剩3个;每次拿3个,最后剩2个;每次拿5个,最后剩4个;每次拿6个,最后剩5个;每次拿7个,最后剩0个;给定数值范围A和B之间(0<=A<B<=100000)将满足上述条件的数字输出,如无符合的数字,则输出-1备注:输出数值包含A和B‘’’def demo (x,y) : lst = [] for i in range(x,y+1): if (i % 2 == 1) and .原创 2021-11-22 23:11:58 · 348 阅读 · 0 评论 -
求数列中f(n)的值
数列f(0) = 0f(1) = 1f(n) = f(n-1)+f(n-2)写出其数列为0 1 1 2 3 5 8 13 21 34 …当n=6时,f(6) = 8,求f(n)的值输入描述:输入数据含有不多于50个的正整数n(0<=n<=46)输出描述:对于每个n,求f(n)的数值def f (n): if n == 0: return 0 if n == 1: return 1 return f(n-1) + f(n-.原创 2021-11-22 23:09:13 · 690 阅读 · 0 评论 -
给定一个整数n,计算所有小于等于n的非负整数中数字1出现的个数
‘’’给定一个整数n,计算所有小于等于n的非负整数中数字1出现的个数例如:n=13,输出6;n=0,输出0‘’’def calTime(n): # 定义一个列表用于存放小于等于n的所有整数 lst = [] if n == 0: return 0 for i in range(1,n+1): lst.append(str(i)) # 遍历列表,计算每个整数中1出现的个数 count = 0 for i in .原创 2021-11-22 23:04:03 · 2233 阅读 · 0 评论 -
数字排序(数字区间反着看的排序结果)
‘’’张三看数字是反着看的比如12 会看成 21,10会看成01就是1输入数字区间[8,11] 正常人从小到大排序是8 9 10 11张三从小到大排序是10 8 9 11 =(1,8,9,11)输入X,Y,输出X,Y区间张三从小到大排序的结果比如X=8,Y=11,输出[10,8,9,11]‘’’def sortList(x,y): lst_d = [] d = {} lst = [] for i in range(x,y+1): lst.a.原创 2021-11-22 22:58:21 · 173 阅读 · 0 评论 -
字符串加密、字符串转换
字符串转换‘’’abcdefghi j k l m n o p q r s t u v w x y z123456789 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26字符串加密:字符a-i 分别用 1-9 表示字符j-z 分别用 10@-26@ 表示返回映射后形成的新字符串(只需要输出已经转换成功的部分,不能转换的则不输出)例如:输入 1326@ 输出acz输入 36@1 输出cfa‘’’d原创 2021-11-22 22:38:28 · 906 阅读 · 0 评论 -
爬阶梯算法
爬阶梯爬阶梯,需要爬完n阶才能到达楼顶每步可以爬1或2个台阶。请问有多少种不同的方法可以爬到楼顶(给定n是一个正整数)输入2,输出2输入3,输出3分析如下:一阶楼梯:1种方法两阶楼梯:2种方法三阶楼梯:3种方法四阶楼梯:5种方法五阶楼梯:8种方法六阶楼梯:13种方法f(n) = f(n-2) + f(n-1)结果就是斐波那契数列,只不过缺少第一项而已。def climbStairs_function_one (n): if n < 3: re原创 2021-11-22 22:30:19 · 790 阅读 · 0 评论