我只是想知道如何在不使用除法的情况下找到两个数字的mean
。
不要使用这些条件:
int mean =(a + b)>> 1;
四个基本算术运算
答案 0 :(得分:6)
我认为这可能会有所帮助 - >
int a,b,i,j;
if (a>b)
{
int temp = a;
a = b;
b = temp;
}
for(i=a,j=b;i<j;i++,j--)
continue;
if(i==j)printf("%d\n", i);
else printf("%lf\n", (double)(i)-0.5);
答案 1 :(得分:5)
添加它们然后乘以0.5,不涉及任何分割。
答案 2 :(得分:3)
如果它们都是整数,你可以使用右移:
int median = (a + b) >> 1;