挑战python
lwnylslwnyls
软件开发
展开
-
输出L内所有数字的乘积末尾0的个数
思路:将10分解为2*5,注意这里只能分解为2*5,所以我们可以将列表L内的数字分解为因数2和5的个数。 python非递归代码 def zerocount(L): count_2 = 0 count_5 = 0 #calculate count 2 and 5 for i in L: temp = i while temp%2原创 2014-02-26 10:07:57 · 2158 阅读 · 0 评论 -
求最大公约数--欧几里德算法 及 最小公倍数
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: gcd(a, b) = gcd(b, a mod b) 其中gcd(a, b)表示a和b的最大公约数, mod是模运算, 即求a除以b的余数. 计算机实现思路: 例如求10和7的最大公约数,那么gcd(10,7)=gcd(7,3)=gcd(3,1),此时一眼看出最大公约数必然是原创 2014-02-25 09:14:15 · 1445 阅读 · 0 评论