数字之趣
文章平均质量分 69
石锅拌饭
新的博客在简书更新,欢迎阅读指正。
展开
-
最大的二阶子矩阵
转载自http://blog.csdn.net/zhanxinhang,作者:花心龟的扮演者ZhanHang题:求一个矩阵中最大的二维子矩阵(元素和最大).如: 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是: 4 5 5转载 2012-10-03 15:30:20 · 2187 阅读 · 0 评论 -
1的数目
题目描述给定一个十进制正整数N,求出从1到N的所有整数中包含1的个数。比如给定N=23,则包含1的个数为13。其中个位出现1的数字有1,11,21,共3个,十位出现1的数字有10,11...19共10个,所以总共包含1的个数为3+10 = 13个。 自然的解法最自然的想法莫过于直接遍历1到N,求出每个数中包含的1的个数,然后将这些个数相加就是总的1的个数。需要遍历N个数,每次计原创 2012-10-03 23:01:04 · 1436 阅读 · 0 评论 -
不要被阶乘吓倒
题目描述给定一个整数N,那么N的阶乘N!末尾有多少个0呢?(该题取自《编程之美》)分析求解如果N!= K*10^M,且K不能被10整除,则N!末尾有M个0。考虑N!可以进行质因数分解,N!= (2^X) * (3^Y) * (5^Z)..., 则由于10 = 2*5,所以0的个数只与X和Z相关,每一对2和5相乘得到一个10,所以0的个数M=min(X, Z),显然2出现的数目比原创 2012-10-03 19:19:05 · 1633 阅读 · 0 评论 -
最大连续子序列和
最大连续子序列和问题是个很老的面试题了,最佳的解法是O(N)复杂度,当然其中的一些小的地方还是有些值得注意的地方的。这里还是总结三种常见的解法,重点关注最后一种O(N)的解法即可。需要注意的是有些题目中的最大连续子序列和如果为负,则返回0;而本题目中的最大连续子序列和并不返回0,如果是全为负数,则返回最大的负数即可。问题描述求取数组中最大连续子序列和,例如给定数组为A={1, 3, -2,原创 2012-10-01 18:05:44 · 60503 阅读 · 23 评论 -
比特位操作算法题汇总
涉及比特位操作的算法题有很多,本文对其中常见的一些进行汇总,所有资源来自网络。一、判断一个正整数是否是2的整数次幂判断一个整数N是否是2的整数次幂,这是个很常见的问题。比如4、8等都是2的整数次幂,而6不是。解法1)一个基本的解法是设定i=1开始,循环乘以2直到i>=n,然后判断i是否等于n即可。解法2)当然还有一个更好的方法,那就是观察一个数字的二进制表示,如n=101000,则原创 2012-10-04 17:14:36 · 6150 阅读 · 7 评论 -
素数算法
题目:写一个程序,找出前N个素数。比如N为100,则找出前100个素数。分析最基本的想法就是对1到N得每个数进行判断,如果是素数则输出。一种改进的方法是不需要对1到N所有的数都进行判断,因为偶数肯定不是素数,而奇数可能是素数,可能不是。2,3,5都是素数,这可以直接得到。然后我们可以跳过2与3的倍数,即对于6n,6n+1, 6n+2, 6n+3, 6n+4, 6n+5,我们只需原创 2012-08-13 15:15:20 · 2398 阅读 · 0 评论 -
为什么计数从零开始
在网上搜到一篇有意思的文章,贴过来了。原文地址:http://wangcong.org/blog/archives/2230众所周知,C语言数组下标是从0开始,其它很多语言皆如此。而 FORTRAN 则是数组下标从1开始的典范。所以就有数组下标是从1开始好还是从0开始好之争。连《C专家编程》中都如此调侃:数组的下标应该是从0还是从1开始?我提议的妥协方案是0.5,可惜他们未予认转载 2013-06-03 09:57:50 · 1928 阅读 · 0 评论 -
数学常数e的含义
在网上看到阮一峰的《数学常数e的含义》,非常有意思的文章。话说阮一峰老师的博客文章质量都很高,推荐。网址如下:http://www.ruanyifeng.com/blog/2011/07/mathematical_constant_e.html转载 2013-11-06 13:15:47 · 1693 阅读 · 0 评论 -
最大连续子序列乘积
问题描述给定一个整数序列(可能有正数,0和负数),求它的一个最大连续子序列乘积。比如给定数组a={3, -4, -5, 6, -2},则最大连续子序列乘积为720,即3*(-4)*(-5)*6=720。分析求最大连续子序列乘积与最大连续子序列和问题有所不同,因为其中有正有负还有可能有0。假设数组为a[],直接利用动归来求解,考虑到可能存在负数的情况,我们用Max[i]来原创 2012-10-01 22:27:12 · 7757 阅读 · 9 评论