⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 从判断两个数的奇偶 xing 看代码和算法优化.txt

📁 c语言的一些常见的算法以及思考和改进的文章,写的很不错,花费了很大的精力从网络了搜罗的,希望大家喜欢.
💻 TXT
字号:
从判断两个数的奇偶 xing 看代码和算法优化[原创] 
    下午有个想法,编个代码来测试2个整数的奇偶 xing 是否相同。本来想写成下面的样子:

int judge(int m,int n)
{
   if((m+n)%2==1)
      return 1; //如果2个参数具有不同的奇偶 xing ,一个为奇数一个为偶数则返回1
   else
      return 0;//如果2个参数具有相同的奇偶  xing 则返回0

}

    后来想了一下return语句的特点,就改成了下面的样子:

int judge(int m,int n)
{
   if((m+n)%2==1)
       return 1;
   return 0;
}

    再后来考虑到m+n可能会导致数据溢出,又改成了下面的样子:

int judge(int m,int n)
{
   if(((m%2==1)&&(n%2==0))||((m%2==0)&&(n%2==1)))
        return 1;
   return 0;
}

     再考虑到我们只是为了判断2个参数的奇偶 xing ,与具体的值无关,所以,我们可以改变参数值,只要保证其奇偶 xing不变就可以了。因此,我又把代码修改成这样:

int judge(int m,int n)
{
  int temp=(m&1)+(n&1);//仅保留最低位,以便测试奇偶 xing
  return temp%2;
}

    应该还有更简单的方法,我想起来以后就补充。也欢迎朋友们不吝赐教。

   补充一个,是从电脑爱好者论坛happymoon那里得到的思路(他的原话是“最低位异或”,我做了简单修改),在此感谢。代码如下:

int judge(int m,int n)
{
  return (m^n)%2;
}

晕了,奇偶xing的xing被屏蔽了,只好用拼音
 
BugEyes 发表于 2005-7-8 20:59:00  
阅读全文(101) | 回复(1) | 引用通告(0) | 编辑 



--------------------------------------------------------------------------------

上一篇:文件恢复原理
下一篇:每个人都有自己的精彩
回复:从判断两个数的奇偶性看代码和算法优化[原创] 
return ((m&1)+(n&1))%2; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -