这题非常简单,就是一个数论
首先,我们考虑最大和最小的两个数:
如果要他们的差最小,那么集合点必须在他们之间(绝对值的几何意义)
而这个点又可以设在中间值的点上,所以中间点的距离=0
所以此题的答案=
$ max(a,b,c)-min(a,b,c)$
代码:
1 2 3 4 5 6 7 8
| #include <cstdio> #define min(x,y) ((y)^(((x)^(y))&(-((x)<(y))))) #define max(x,y) ((x)^(((x)^(y))&(-((x)<(y))))) int main(void){ int a,b,c; scanf ("%d%d%d",&a,&b,&c); printf ("%d",max(max(a,b),c)-min(min(a,b),c)); }
|