本帖最后由 panda@uu90 于 2013-8-6 23:23 编辑
思路:1:我是刚学习的,现在看视屏只看到了排序,感觉和此题有些接近,比如定义头标和尾标,取中间值,其实角标相当于人数,次数是角标里面所代表的内容。
2:如果把会场总人数设为x,可以这样:假如是会场是5人,握手次数,4,3,2,1,看着这个数字是不是感觉很高兴,因为首尾相加,正好等于人数,而且是2个5,所以可以总结:握手次数=(x-1)/2*x的规律。5-1=4,4/2=2.
3:所以举例从45角标开始,45人握手次数为:990,55人握手次数为:1485,1225>990,1225<1485,所以:x>45,x<55,于是取中间值。50人再试一下,结果正好是握手1225次。
4:此题只让我想到【选择排序】:
0-1 0-2 0-3 0-4 0-5
1-2 1-3 1-4 1-5
2-3 2-4 2-5
3-4 3-5
4-5
但是具体用代码表示,我还真有点不会,我发表,只是想让高人提点。另外补充代码。谢谢 |