LeetCode之Math

来源:互联网 发布:苹果指纹解锁软件 编辑:程序博客网 时间:2024/05/18 10:35

Arranging Coins

1+2+3+...+n =  (n*n+1)/2

Factorial Trailing Zeroes

计算n!后边有多少个0 产生0是由因子2*5得来,而n!过程中因子2要比5多的多,所以只要求得1到n的过程中有多少个因子5就知道n!尾数有多少个0了

n/m = x 就说明 x个m相加等于n ,也即从1到n有x个数整除m 所以n/5为从1到n含因子5的数的个数,n/25为含因子25的个数,含因子5的数中已经计算过一次含25的了,不过含因子25的刚好有两个因子5,所以刚好,以此类推 所以res=n/5+n/25+n/125+...

Ugly Number因子中除了2,3,5之外还有其他素数的数为非ugly

一个数的因子还是可以再分的直到全部分为素数因子,也即一个数一定能够表达成一堆素数的乘积,所以只需要一直除2,3,5得到1即为ugly
Power of Three判断一个数是否为叁的幂
return n > 0 && (1162261467 % n == 0);3^20超出int3^19就是这个数,避免使用循环

用1-->2-->3-->4  得到1234
val = 0;
val = 10*(val + num);递归下去1,10+2,120+3,1230+4,1234