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();
}
}
查看全文
相关阅读:
开发中学习英语
eclipse 常用快捷键
eclipse 查看快捷键
沟通的方式——大道至简第四章读后感
java练习题——类与对象
团队与管理方法——大道至简第三章读后感
java程序——两数的加减乘除
java练习题
java程序——从命令行接收多个数字,求和之后输出结果
李冰烧山——大道至简第二章读后感
原文地址:https://www.cnblogs.com/bluespot/p/875660.html
最新文章
通俗了解TCP/IP三次握手四次挥手
STL模板整理 map
[Js]定时器
DaemonSet 案例分析
DaemonSet 典型应用场景【转】
用 label 控制 Pod 的位置
k8s 如何 Failover?
如何 Scale Up/Down Deployment?【转】
读懂 Deployment YAML【转】
k8s 创建资源的两种方式【转】
热门文章
用 Deployment 运行应用【转】
通过例子理解 k8s 架构【转】
python之路——函数进阶
Android 开发笔记 “Android 的消息队列模型”
Android 开发笔记 “SQLite”
Android 开发笔记 “调用WebService”
Android 开发笔记 “SharePreference 数据存取”
Oracle 字段是多个值的字符串的查询处理
Oracle Split 函数
Android Bug 记录
Copyright © 2011-2022 走看看