5位选手说两个猜测,都说对一半,预测比赛名次问题

#include <stdio.h>  
int main()  
{  
	int A,B,C,D,E;
    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==1) + (A==3) ==1 &&  
                            (B==2) + (E==4) ==1 &&  
                            (C==1) + (D==2) ==1 &&  
                            (C==5) + (D==3) ==1 &&  
                            (E==4) + (A==1) ==1 )  
                       		 {     
	                            printf("A=%d, B=%d, C=%d, D=%d, E=%d\n",A, B, C, D, E);   
	                            return 0;  
                        	}    
                        }
                    }
               }
           }
       }
    return -1;  
}
时间: 2024-10-11 03:10:14

5位选手说两个猜测,都说对一半,预测比赛名次问题的相关文章

c语言:2种方法:5位运动员参加跳水比赛,每位选手都说对一半,请确定比赛名次

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第一,我第三. B选手说:我第二,E第四. C选手说:我第一,D第二. D选手说:C最后,我第三. E选手说:我第四,A第一. 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次. 程序一: #include<stdio.h> int main() { int a = 1, b = 1,c = 1,d=1,e=1; for (a = 1; a <= 5; a++) { for (b = 1; b <= 5; 

【C】辗转相除法求两个数的最大公约数,利用位运算交换两个数无须中间变量

辗转相除法,又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法.它是已知最古老的算法, 其可追溯至3000年前.这种算法,在中国则可以追溯至东汉出现的<九章算术>.设两数为a.b(a>b),求a和b最大公约数(a,b)的步骤如下:用a除以b,得a÷b=q......r1(0≤r1).若r1=0,则(a,b)=b:若r1≠0,则再用b除以r1,得b÷r1=q......r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r1除r2

SqlServer保留几位小数的两种做法

SqlServer保留几位小数的两种做法   数据库里的 float momey 类型,都会精确到多位小数.但有时候 我们不需要那么精确,例如,只精确到两位有效数字. 解决: 1. 使用 Round() 函数,如 Round(@num,2) 参数 2 表示 保留两位有效数字. 2. 更好的方法是使用 Convert(decimal(18,2),@num) 实现转换,decimal(18,2) 指定要保留的有效数字. 这两个方法有一点不同:使用 Round() 函数,如果 @num 是常数,如 R

jar包版本冲突,并且要保留两个版本都能使用

问题:在做项目时,遇到jar版本冲突的问题,并且老代码依赖不能用新jar包代替,要保证功能不变须要保证两个jar都能使用 思路:使用runtime 的exec 方式另启线程运行,然后返回结果 解决: 1):创建可运行的jar包,并创建入口main方法,方法实现新功能的调用与结果或异常的返回 public static void main(String[] args) { try { //接收参数 String privateKeyPath = args [0]; /* 业务逻辑 */ Syste

Python练习题8(替换相同的字符串并输出):输入两个字母串,将两个字母串都包含的字母用&#39;_&#39;替换后,输出两个字母串的剩余部分 (不能为空串,区别大小写,只能包含字母)

方法一:检查输入是否为空串,循环字母串,相同的则替换,然后再用replace()方法去除,输出想要的结果 1 def str_replace(messages1,messages2): 2 if messages1.strip() == '' or messages2.strip() == '' : #检验输入不能为空串 3 tips = "输入字母串有空串,不合法" 4 return tips 5 6 if not messages1.encode('UTF-8').strip().

如果一个类同时继承的两个类都定义了某一个函数会怎样呢

如果一个类同时继承的两个类都定义了某一个函数会怎样呢 | Code4Fun 盒子 盒子 博客 分类 标签 友链 关于 RSS 搜索 入下面所示:类C同时继承了A和B,并且两个都定义了相同的函数,如果这时候编译的话会得到错误. 1 2 3 4 5 6 7 8 9 10 testhir.cpp: In function 'int main(int, const char**)': testhir.cpp:26:7: error: request for member 'printR' is ambi

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

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第一,我第三.B选手说:我第二,E第四.C选手说:我第一,D第二.D选手说:C最后,我第三.E选手说:我第四,A第一.比赛结束后,每位选手都说对了一半,请编程确定比赛的名次. 初次见到这种题,感觉很难将其抽象出来 用编程来解决它,通过查阅相关文档,终于灵光乍现!现总结思路如下: 通过排列组合知识,可以这样来理解  A B C D E五个人,每个人分别可以有五个位置去 即第一 第二...到第五 5个位置 ,于是这样下来就有25种情

做为测试经理,这两年我都做错了哪些事(一)

我是一名测试经理,在过去的两年时间做了两件事,团队从0到1的搭建和从QC到QA转型.这两年没有什么精彩的故事,都是一次次的尝试-失败-尝试的过程. 公司背景近两年主要做项目外包.客户是央企,我们做完的项目要过他们的测试部验收,测试超过两轮要罚款.他们通过的标准是一般问题不超过三个,轻微问题不超过五个. 第一次失败——冒进的左移团队组建后,我等到了第一个全新的项目A.这个项目对我和我的团队来说都是至关重要的,我们需要这个项目来给自己树个标杆,开个好头.于是我把过去两年我认为最有效的测试方案应用到项

(转)Sql Server 保留几位小数的两种做法

原文地址:http://blog.csdn.net/skyandcode/article/details/23523815 问题: 数据库里的 float momey 类型,都会精确到多位小数.但有时候 我们不需要那么精确,例如,只精确到两位有效数字. 解决: 1. 使用 Round() 函数,如 Round(@num,2)  参数 2 表示 保留两位有效数字. 2. 更好的方法是使用 Convert(decimal(18,2),@num) 实现转换,decimal(18,2) 指定要保留的有效