zoukankan
html css js c++ java
逻辑判断问题(java版)
/** */
/**
猜测产品质量评奖
【问题】5家工厂的产品在一次评比中分获1,2,3,4,5,在公布结果前,已知E
厂产品肯定不是第二、三名,五厂代表猜测评比结果,
A厂的代表说:E厂一定能获得第一名。
B厂的代表说:我厂的产品可能获第二名。
C厂的代表说:A厂的产品质量最次。
D厂的代表说:C厂的产品不是最好的。
E厂的代表说:D厂的产品会获得第一名。
公布结果后,证明只有产品获第一名和第二名的两个厂的代表猜对了。
求5个厂产品各获第几名。
【答案】 A B C D E
5 2 1 3 4
谁获冠军?
【问题】甲乙丙丁戊五个人在运动会上分获百米、二百米、跳高、跳远和铅球冠军,有
四个人猜测比赛结果:
A说:乙获铅球冠军,丁获跳高冠军。
B说:甲获百米冠军,戊获跳远冠军。
C说:丙获跳远冠军,丁获二百米冠军。
D说:乙获跳高冠军,戊获铅球冠军。
其中每个人都只说对一句,说错一句。求五人各获哪项冠军。
【算法】用1,2,3,4,5分别代表百米、二百米、跳高、跳远和铅球5个项目,用a,b,c,d,e
分别代表五人。如b=3 表示乙获跳高冠军。用多重循环穷举出来。
【答案】 甲 乙 丙 丁 戊
1 2 4 3 5
谁是小偷?
【问题】有A、B、C、D四名偷窃嫌疑犯,其中一人是小偷,审问中,
A说:“我不是小偷”,
B说:“C是小偷”,
C说:“小偷肯定是D”,
D说:“C在冤枉人”,
有三人说真话,一人说假话,问到底谁是小偷?
【答案】 C
*/
public
class
LogicProblem
{
int
a,b,c,d,e;
public
LogicProblem()
{
WhoWillWin();
WhoIsChampion();
WhoIsThief();
}
public
void
WhoWillWin()
{
int
truelogic;
for
(a
=
1
;a
<=
5
;a
++
)
for
(b
=
1
;b
<=
5
;b
++
)
for
(c
=
1
;c
<=
5
;c
++
)
for
(d
=
1
;d
<=
5
;d
++
)
{
truelogic
=
0
;
e
=
15
-
a
-
b
-
c
-
d;
if
((e
!=
2
&&
e
!=
3
)
&&
(a
*
b
*
c
*
d
*
e
==
120
))
{
//
所有可能的条件罗列出来,只有两个正确
if
(e
==
1
)
truelogic
++
;
if
(b
==
2
)
truelogic
++
;
if
(a
==
5
)
truelogic
++
;
if
(c
!=
1
)
truelogic
++
;
if
(d
==
1
)
truelogic
++
;
if
(truelogic
==
2
)
{
//
进一步罗列成立条件,只有两个是正确的
if
((e
==
1
)
&&
((a
<=
2
)))
truelogic
++
;
if
(b
==
2
)
truelogic
++
;
if
((a
==
5
)
&&
((c
<=
2
)))
truelogic
++
;
if
((c
!=
1
)
&&
((d
<=
2
)))
truelogic
++
;
if
((d
==
1
)
&&
((e
==
2
)))
truelogic
++
;
if
(truelogic
==
4
)
System.out.println(
"
WhoWillWin--a:
"
+
a
+
"
b:
"
+
b
+
"
c:
"
+
c
+
"
d:
"
+
d
+
"
e:
"
+
e);
}
}
}
}
public
void
WhoIsChampion()
{
for
(a
=
1
;a
<=
5
;a
++
)
for
(b
=
1
;b
<=
5
;b
++
)
for
(c
=
1
;c
<=
5
;c
++
)
for
(d
=
1
;d
<=
5
;d
++
)
{
e
=
15
-
a
-
b
-
c
-
d;
if
((a
*
b
*
c
*
d
*
e
==
120
)
&&
((b
==
5
)
||
(d
==
3
))
&&
((a
==
1
)
||
(e
==
4
))
&&
((c
==
4
)
||
(d
==
2
))
&&
((b
==
3
)
||
(e
==
5
)))
System.out.println(
"
WhoIsChampion--a:
"
+
a
+
"
b:
"
+
b
+
"
c:
"
+
c
+
"
d:
"
+
d
+
"
e:
"
+
e);
}
}
public
void
WhoIsThief()
{
int
truelogic;
for
(a
=
1
;a
<
4
;a
++
)
{
truelogic
=
0
;
if
(a
!=
1
)
truelogic
++
;
if
(a
==
3
)
truelogic
++
;
if
(a
==
4
)
truelogic
++
;
if
(a
!=
4
)
truelogic
++
;
if
(truelogic
==
3
)
{
System.out.println(
"
WhoIsThief--a:
"
+
a);
}
}
}
public
static
void
main(String[] args)
{
new
LogicProblem();
}
}
查看全文
相关阅读:
Nginx rewrite模块深入浅出详解
一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS
nginx: [emerg] getpwnam(“www”) failed错误
mysql5.7 启动报发生系统错误2
obv15 实例6:如果K线柱过多,ZIG将发生变动,导致明显的OBV15指标被隐藏!
obv15 案例4,待日后分析
稳定
教你识别指标骗局:以某家捕捞季节和主力追踪为例讲解
C++ 语句
C++ 表达式
原文地址:https://www.cnblogs.com/bluespot/p/875660.html
最新文章
Java 读写Properties配置文件
Java 加载配置文件的方式
JAVA用POI读取和创建2003和2007版本Excel完美示例
poi excel
JDBC小结
java中Date与String的相互转化
JAVA中int、String的类型转换
Java应用程序项目的打包与发行
java日期工具类DateUtil-续一
java日期工具类DateUtil-续二
热门文章
java日期工具类DateUtil
Java CSV操作(导出和导入)
mysql函数大全
MySQL查询数据表中数据记录(包括多表查询)
python解决SNIMissingWarning和InsecurePlatformWarning警告
Jupyter Notebook 快速入门
shell脚本自动清理服务器日志、图片等信息
zabbix-agents客户端安装
zabbix服务端安装指南及常见问题解决
centos 中文乱码解决途径
Copyright © 2011-2022 走看看