5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果: A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:

A选手说:B第二,我第三;

B选手说:我第二,E第四;

C选手说:我第一,D第二;

D选手说:C最后,我第三;

E选手说:我第四,A第一;

比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。

答题
( 注:编程题请贴代码+运行截图!)

int main()
{
    
    
	int a=0, b=0, c=0, d=0, e=0;
	for (a = 1; a <= 5; a++)
	{
    
    
		for (b = 1; b <= 5; b++)
		{
    
    
			for (c = 1; c <= 5; c++)
			{
    
    
				for (d = 1; d <= 5; d++)
				{
    
    
					for (e = 1; e <= 5; e++)
					{
    
    
							if((b == 2) && (e == 4) && (a == 1 || a == 3) && (c == 1 || c == 5) && (d == 3 || c == 2))
							if((a * b * c * d * e == 120)&&(a+b+c+d+e==15))
							printf("a=%d,b=%d,c=%d,d=%d,e=%d", a, b, c, d, e);
					}
				}
			}
		}
	}	
	return 0;
}

``

解析

  1. 通过计算统计可得b=2,d=4
    如图所示
    在这里插入图片描述
    2.一共5个人,每一个人都有5种可能性,所以对5个人进行遍历得出所有的可能性
    3.通过上图可得
    a=3或a=1,b=2,c=1或c=5,d=3或d=2,e=4,
    由此可进行判断,符合所有条件即可,
    但是光这些还不能完全满足条件。
    4.因为我们知道a、b、c、d、e是1到5,
    还可得条件a+b+c+d+e=15,abcde=120
    5.当a、b、c、d、e满足以上的全部条件即可求出a、b、c、d、e

猜你喜欢

转载自blog.csdn.net/weixin_51799303/article/details/128557877