廉政网站建设,常熟网站建设专业的公司,wordpress H2标签,在哪些软件上建设网站命题#xff1a;给定整数x,y#xff0c;计算较小值m。 两个数的差异#xff0c;在于他们的差#xff0c;于是想到计算z x - y#xff0c;我想也许可以利用这个中间值#xff0c;利用一些巧妙的位运算求出#xff0c;可是貌似还是比较困难。于是我打算重新理一下思路… 命题给定整数x,y计算较小值m。 两个数的差异在于他们的差于是想到计算z x - y我想也许可以利用这个中间值利用一些巧妙的位运算求出可是貌似还是比较困难。于是我打算重新理一下思路可能出现的情况(暂时忽略特殊情况 z 0)1. x y z 0 就是要找到一个函数f满足f(y , z) x2. x y z 0 就需要这个f不仅满足1而且满足此时f(y , z) y 因为算法的目的是使用加减法、位运算这些基本运算尽可能简单的计算。所以我选择了加法运算 y g(z) x , z x - y 0; y g(z) y , z x - y 0; 最终变成寻求一元函数g 就是 g(z) z, z 0 g(z) 0, z 0 也就是要找到一个一元分段函数而且需要运算简单于是我想到了g(z) (z 32) z 如果z 0z32得到的是FFFFFFFF再与上一个z还是z 如果z 0, z32得到的是0000000最终还是0 所以最终的算法是 z x - y m (z 32) z y; 这个算法应该跟当初看到的比较接近了。它的优点很显然全部是最基本的运算而且不包含控制指令而且完全可以直接由寄存器计算完成效率很高。 算法本身并非什么惊天地泣鬼神大算法而且在编译器里肯定会有自己做这样的优化其实最让我欣慰的是我这次的思路思路非常清晰很久没有动脑子的我居然还能这么思考我已经很高兴了。其中主要包含两种思想分类讨论、降低元数(降二元为一元)。这也是使用非常广泛的方法了前者主要帮助理清思路后者主要降低复杂度。 转载于:https://www.cnblogs.com/xinzhuangzi/archive/2011/08/23/4100430.html