如果前15名和后15名一一对应2人一组的话,也应该有15个优等生。
如果30个人组成一个30边形,每个点拥有的连线一样。如果是每个点都有29条连线,那仍然只有15个优等生...其他5或6人一组的情况也可以抽象成多边形的连线。
若总人数n,貌似最多的优等生数量为 n/2 或 (n-1)/2
写了个,不知道对不对:
- @echo off
- set/p num=请输入班上的人数:
- cls&echo 总人数%num%,每个人有相同的朋友数,优等生情况如下:&echo.
- for /l %%i in (2,1,%num%) do (
- call :out %%i
- )
- pause>nul
- :out
- set/a t=1/(num%%%1) 2>nul && goto :eof || set/a m=%1,n=num/m,q=%1-1
- set/a t=1/(m%%2) 2>nul && set/a o=(m-1)/2 || set/a o=m/2
- set/a p=o*n
- echo 如果每个人有%q%个朋友,那么有%p%个优等生。
复制代码
[ 本帖最后由 wankoilz 于 2008-6-19 20:56 编辑 ] |