首页 > 试题广场 >

将1,2,3,......,99,100任意排列成一个圈,相

[单选题]
将1,2,3,......,99,100任意排列成一个圈,相邻两数的差的绝对值求和最多为____。
  • 100
  • 198
  • 200
  • 500
  • 2500
  • 5000
推荐
最大排列为100 1 99 2 98 3.....51 49 50   所以和为99+98+97+..+1+(100-50)因为是一个圈所以,100和50相接,所以等于5000
编辑于 2015-08-25 00:22:49 回复(0)
关键不在于排列是(100 1 99 2 98 3 。。。。 52 49 51 50)还是(1,51,2,52,3,53...49,99,50,100)  而在于这个两数之差是要和前后都对比,这样就相当于算了两遍,所以就是2500*2=5000
发表于 2015-10-06 11:09:56 回复(1)
1,51,2,52,3,53...49,99,50,100 举例:1和51差50 51和2差49 同理:2和52差50 52和3差49 以此类推:则有50个50和50个49 除此之外还有最后收尾的50和100差50.所以:50x50+49x50+50=5000
发表于 2018-07-11 15:59:35 回复(1)
从几何的角度来考虑这个问题:相邻两数的绝对值之差,可以看作是两点之间的距离。
结合贪心算法,要想一圈下来距离之和最大,我们需要让每个间隔尽量达到最大。
假设1到100为坐标轴上的100个点。从1出发,其到100最远,100到2最远,2到99最远,……,从50出发,到51,再从51到1,单圈结束。
总距离 = 99+98+97+……+1+(51-1)= (1+99)*99/2+50=5000
发表于 2018-09-13 22:22:42 回复(0)
我的排列是1,51,2,52,3,53...49,99,50,100。答案也是这样的
发表于 2015-08-25 10:33:10 回复(0)

解析:

1 100  2 99  3 98 ……..49 52  50 51 相邻元素绝对值差为( 99+98+97+….+1+50 =5000

发表于 2015-08-25 00:14:47 回复(4)
要得到最大的差值,理所当然想到最大与最小的数的差,然后想加。但其实我们分组之后就与具体的排序没什么关系,我们将100个数分成两组1-50,51-100。无论我们先把小数排序,还是大树排序都不影响结果,这,我就先大数排列,排列为圈,就像一张大圆桌子先有50个位置把大数排好,小数再任意插入两两大数直接的空位,形成100数圆排列。而结果就是,从100加到51相加和的两倍减去1到50相加和的两倍,为5000
发表于 2017-09-29 16:13:27 回复(1)
先放大数组(51~100)围成一圈,再放小数组(1~50)在大数组的每两个数之间,这样能保证相邻两个数的差值相加之后最大。每个数字都参与了2遍运算,所以结果是2 * (大数组之和 - 小数组之和),为了方便运算,变换成2 * (51-1 + 52-2 + 53-3 + 54-4 .... 99-9 + 100-50),也就是2 * 50 *50=5000
发表于 2016-12-18 23:21:26 回复(1)
答案是2500啊  1+3+。。。+97+99 啊  怎么是1+2+3+。。+97+98+99呢  真逗
发表于 2015-08-26 15:31:50 回复(2)
其实只需要把大于50和小于50的隔开就好了,最简单排序是1,51,2,52,3,53......50,100。然后50*50*2=5000  OK
发表于 2016-07-23 22:58:47 回复(0)
最大排列:1,100,2,99,3,98,……,49,50,
发表于 2015-08-24 22:57:39 回复(0)
把51到100岔开就行,这样这些较大的数左右各作为被减数,就算了两次;同理1-50作为减数也算了两次,
(51+52+53+...+100) * 2 - (1+2+3+...+50) * 2 = 5000
发表于 2021-06-26 01:04:36 回复(0)
最大差即是99,98,。。。。1 全部相加就是100*50=5000
发表于 2019-05-07 20:14:35 回复(0)
喔 也就是说每个数与前后相邻的数做差,就是算了两轮和啊
发表于 2018-08-21 14:36:49 回复(0)
这个和排列顺序有关,小于51的和大于50的依次交叉即可,找一个最有规律的100、1、99、2……51、50,求得和为5000。
发表于 2017-08-03 19:00:17 回复(0)
排列:1,100,2,99,3,98.。。。。。。
实际得到的差是这样的   (1-100),(100-2),(2-99),(99-3)。。。。是依次做减法   
相信很多人第一遍会忽略小数减大数那一半 所以才会得到2500那个答案,   而实际答案要全面考虑,得到答案是5000
发表于 2015-11-04 03:04:14 回复(0)
100 1 99 2 98 3 。。。。 52 49 51 50 所以才是99+97+95+...+3+1+50=2550..
发表于 2015-08-31 11:06:56 回复(0)