01 2012 档案
摘要:阶乘(Factorial)是个很有意思的函数,但是不少人都比较怕它,我们来看看两个与阶乘相关的问题: 1. 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0。 2. 求N!的二进制表示中最低位1的位置。答案:有些人碰到这样的题目会想:是不是要完整计算出N!的值?如果溢出怎么办?事实上,如果我们从“哪些数相乘能得到10”这个角度来考虑,问题就变得简单了。首先考虑,如果N!=K×10M,且K不能被10整除,那么N!末尾有M个0。再考虑对N!进行质因数分解,N!=(2x)×(3y)×(5z)…,由于10 =
阅读全文
摘要:问题描述任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4这也是一道比较经典的题目了,相信不少人面试的时候可能遇到过这道题吧,下面介绍了几种方法来实现这道题,相信很多人可能见过下面的算法,但我相信很少有人见到本文中所有的算法。如果您上头上有更好的算法,或者本文没有提到的算法,请不要吝惜您的代码,分享的时候,也是学习和交流的时候。普通法我总是习惯叫普通法,因为我实在找不到一个合适的名字来描述它,其实就是最简单的方法,有点程序基础的人都能想得到,那就是移位+计数,很简单,不多说了,直接上代码,这种方法的运算次数与输入
阅读全文
摘要:Windows®Presentation Foundation (WPF) 和 Silverlight™ 等技术为开发人员提供了一种简单的声明性方法,使他们可以快速轻松地开发出具有丰富用户体验的应用程序。但是,尽管这些技术有助于进一步将表示层从逻辑层中分离出来,但它们无法解决如何构建易于维护的应用程序这一老问题。对于一些较小的项目,具备一定经验的开发人员应该能够设计和构建出便于进行维护和扩展的应用程序,此要求并不过分。但是,随着移动部件的数量(以及使用这些部件的人员)的不断增加,对项目实施控制的难度开始呈指数级增长。复合应用程序是专门针对此问题提出的解决方案。在本文中,我将对复合应用
阅读全文
摘要:void glutDisplayFunc(void (*func)(void) );为当前窗口设置显示回调函数void glutOverlayDisplayFunc(void (*func)(void) );注册当前窗口的重叠层的显示回调函数void glutReshapeFunc(void (*Func)(int width, int height) );指定当窗口的大小改变时调用的函数void glutKeyboardFunc(void (*func) (unsigned char key, int x, int y) );注册当前窗口的键盘回调函数void glutMouseFunc(v
阅读全文
摘要:在glBegin()和glEnd()之间可调用的函数函数函数意义glVertex*()设置顶点坐标glColor*()设置当前颜色glIndex*()设置当前颜色表glNormal*()设置法向坐标glCoord*()产生坐标glCallList(),glCallLists()执行显示列表glTexCoord*()设置纹理坐标glEdgeFlag*()控制边界绘制glMaterial*()设置材质glVertex3f()表示了该函数属于 gl库,参数是三个float型参数指针。我们用glVertex*()来表示这一类函数。几何图元类型和说明类型说明GL_POINTS单个顶点集GL_LINES多
阅读全文