随笔分类 -  编程之美学习历程

是时候总结一下了。也是思维上的一个总结。
摘要:2.7最大公约数问题问题:求两个数的最大公约数。对于该问题:首先映入眼帘的就是两个数n m中寻找一个最小的值。然后从该值遍历到1.一旦 n%i==0&&m%i==0 那么i就是这个最大公约数啦。原理不言而喻。代码就不附上了。(不纳入方法好了)方法1:就是比较经典的欧几里德算法。其中本质上的原理是这样... 阅读全文
posted @ 2015-03-31 00:08 Milkor 阅读(342) 评论(0) 推荐(0)
摘要:2.3寻找发帖“水王”问题:求在一个ID列表中出现次数超过一半的ID。对于该问题:一个比较直接的想法就是直接统计。统计每个ID出现的次数。然后寻找该数组中最大的数值。从而找出它的ID。统计需要N,并且空间上要2*N(而且这里必须保证ID不能是小数而且ID是连续的)。然后对于寻找最大元素。一种是分治。... 阅读全文
posted @ 2015-03-19 17:17 Milkor 阅读(185) 评论(0) 推荐(0)
摘要:2.2关于阶乘的一点知识问题1:求 N!末尾有多少个0。问题2:N!中二进制表示中最低位1的位置。首先对于问题1: 对于N!的末尾有多少个0这个问题。要追溯到算术基本定理:算术基本定理:任何一个大于1的自然数N,都可以唯一分解成有限个质数的乘积 N=(P_1^a1)*(P_2^a2)........ 阅读全文
posted @ 2015-03-18 18:35 Milkor 阅读(161) 评论(0) 推荐(0)
摘要:2.1求二进制中1的个数法1:整型数观念。二进制中1在数中的体现,也就是当一个数是奇数时最末位就是1。那么我们可以将一个数判断是否是奇数。如果是就统计加1。并且/2 失去这一位。int count;count = 0;void Count(int num){ while(num) { ... 阅读全文
posted @ 2015-03-18 17:31 Milkor 阅读(150) 评论(0) 推荐(0)