免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: HappyWin
打印 上一主题 下一主题

不用判断语句,求两个数的最大值  关闭 [复制链接]

论坛徽章:
0
71 [报告]
发表于 2004-10-14 16:46 |只看该作者

不用判断语句,求两个数的最大值

另起一贴吧

论坛徽章:
0
72 [报告]
发表于 2004-10-15 10:32 |只看该作者

不用判断语句,求两个数的最大值

x/2+y/2+abs(x/2-y/2)

^_^  pf

论坛徽章:
0
73 [报告]
发表于 2004-10-15 14:50 |只看该作者

不用判断语句,求两个数的最大值

还在做么?别忘了x,y都是整数,数学上对的电脑上不一定对!
楼上用1,3带进去试试看。别忘了,1/2=0,3/2=1。
netchong 该用户已被删除
74 [报告]
发表于 2004-10-15 15:05 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
75 [报告]
发表于 2004-10-15 15:08 |只看该作者

不用判断语句,求两个数的最大值

楼上的,问题是用1/2就可以避免溢出。

论坛徽章:
0
76 [报告]
发表于 2004-10-15 15:55 |只看该作者

不用判断语句,求两个数的最大值

想不明白

论坛徽章:
0
77 [报告]
发表于 2004-10-15 23:32 |只看该作者

不用判断语句,求两个数的最大值

4
9
13+5=18/2=9


4
-9

4+(-13)=-9
-5+13=8/2

3
7
10+4=14/2

-2
9
7+11=18/2

2
9
11+7=18/2

-7
-9
-16-2=-18/2

7
9
16+2=18/2

0
0
0+0=0/2
out:
z=x+y+(-1*(x-y))
max=z/2
好久没接触程序了,代码都忘得差不多了,不过算法永远都不会忘的,数学的魅力是如此吸引人!!

论坛徽章:
0
78 [报告]
发表于 2004-10-16 20:59 |只看该作者

不用判断语句,求两个数的最大值

如果a,b都不为零的话:return ((a/b)*a+(b/a)*b)/(a/b+b/a);
呵呵

论坛徽章:
0
79 [报告]
发表于 2004-10-17 20:35 |只看该作者

不用判断语句,求两个数的最大值

int max(int a,int b)
{
        int e[3];
        int i;

        e[0] = b;
        e[2] = a;

        i = (((a-b)-(b-a))+1)%2;
        return( e[i+1]);
}

一定可以。

论坛徽章:
0
80 [报告]
发表于 2004-10-18 09:55 |只看该作者

不用判断语句,求两个数的最大值

楼上的验算过么?i永远是1吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP