有m支球队参加比赛,比赛采用循环赛制,赢一场比赛得3分,平一场得1分,输一场得0分,比赛结束后,求其中一只球得分情况有多少中可能。
当n=1时,1种可能,
当n=4时,9种可能。
题目解析:
设某只球队一共打了n场,赢x场,平y场,得分f=3*x+y,可能行为r
当x=0时,y=0,1,2…n; f=0,1,2,3…n; r=n+1
当x=1时,y=0,1,2…n-1; f=3,4,5…n+2;
f<=n都为重复,r=r+2;
当x=2时,y=0,1,2…n-2; f=6,7,8…n+4
f<=n+2都为重复;r=r+2;
…
当x=n-4时,y=0,1,2,3,4; f=3n-12,3n-11,3n-10,3n-9,3n-8
f<=3n-10的都为重复,r=r+2;
当x=n-3时,y=0,1,2,3; f=3n-9,3n-8,3n-7,3n-6;
f<=3n-8为重复;r=r+2
当x=n-2时,y=0,1,2; f=3n-6,3n-5,3n-4
f<=3n-6都为重复,r=r+2;
当x=n-1时,y=0,1; f=3n-3,3n-2
r=r+2;
当x=n时,y=0;f=3n;
r=r+1;
所以c++程序可以简单地写为:
#include<iostream>
using namespace std;
int main()
{
int m,n;
cin>>m;//球队数
n=m-1;//某只球队比赛总场次
int r=n+1;//分数可能性
for(int x=1;x<=n;x++)
if(x<n)
r+=2;
else
r+=1;
cout<<r;
}