- 4
- 0
- 约2.7千字
- 约 9页
- 2018-01-02 发布于河南
- 举报
月薪三万的一道面试题
月薪三万的一道面试题
小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日
是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?
3月4日 3月5日 3月8日
6月4日 6月7日
9月1日 9月5日
12月1日 12月2日 12月8日
小明说:如果我不知道的话,小强肯定也不知道
小强说:本来我也不知道,但是现在我知道了
小明说:哦,那我也知道了
请根据以上对话推断出张老师的生日是哪一天
参考答案:
生日是9月1日
解题思路:
由小明第一句话可知,此月可能为3月或9月。因为6月有个7日,12月有个2日,如果M为6或12的话,小强有可能知道,而小强肯定不知道。
由小强的话可知,此日可能为1日、4日或8日。因为如果N为5的话,小强无法判断是3月5日还是9月5日,而不会说现在我知道了。
由小明第二句话可知,此月必为9月。因为如果是3月,小明无法判断是3月4日还是3月8日,而他说那我也知道了。
综上所述,生日是9月1日。
参考答案:
生日是9月1日
代码大概是:
class begin
{
static void Main()
{
//初始化生日集合
生日集合 srjh=new 生日集合();
srjh.Add(new 生日类(3,4));
srjh.Add(new 生日类(3,5));
srjh.Add(new 生日类(3,8));
srjh.Add(new 生日类(6,4));
srjh.Add(new 生日类(6,7));
srjh.Add(new 生日类(9,1));
srjh.Add(new 生日类(9,5));
srjh.Add(new 生日类(12,1));
srjh.Add(new 生日类(12,2));
srjh.Add(new 生日类(12,8));
//开始工作流
工作流.BEG(srjh);
System.Console.Read();
}
}
//工作流
class 工作流
{
/**//* 开始结点
* ↓
* 结点A:如果我不知道的话 →结点X:小明知道(该节点分支略)
* ↓
* 结点B:小强肯定也不知道
* ↓
* 结点C: 小强说:现在我知道了
* ↓
* 结点D:小明说:哦,那我也知道了
* ↓
* 结束结点
*
*/
public static void BEG(生日集合 obj)
{
if(obj !=null)
{
A(obj);//下一结点
}
}
//结点A:如果我不知道的话
private static void A(生日集合 obj)
{
生日集合 jh=AI.小明分析(obj);
if(jh.Count==0)
{
B(obj); //下一结点
}
else
{
//小明可以光凭月知道的集合
//该节点分支略
}
}
//结点B:小强肯定也不知道
private static void B(生日集合 obj)
{
//得到小强光凭日期就能知道的集合
生日集合 小强知道的集合=AI.小强分析(obj);
//小明之所以知道小强肯定不知道,
//是因为小明知道的月份不是小强光凭日期就能知道的
生日集合 排除的集合=new 生日集合();
foreach(生日类 temp in 小强知道的集合)
{
foreach(生日类 tp in obj)
{
if(temp.月==tp.月)
{
排除的集合.Add(tp);
}
}
}
集合操作.排除(obj,排除的集合);
C(obj);//下一结点
}
//结点C: 小强说:现在我知道了
private static void C(生日集合 obj)
{
生日集合 小强知道的集合=AI.小强分析(obj);
D(小强知道的集合); //下一结点
}
//结点D:小明说:哦,那我也知道了
private static void D(生日集合 obj)
{
生日集合 小明知道的集合=AI.小明分析(obj);
END(小明知道的集合);//下一结点
}
//完成结点:
private static void END(生日集合 obj)
{
//完成,输出到屏幕
foreach(生日类 temp in obj)
{
System.Console.WriteLine(temp.月.ToString() +- +temp.日.ToString());
}
}
}
//功能扶助类
class 集合操作
{
public static void 排除(生日集合 s,生日集合 v)
{
foreach(生日类 temp in v)
{
s.Remove(temp);
}
}
}
class 生日类
{
public in
您可能关注的文档
最近下载
- 2024-2025学年广东省东莞市统编版三年级上册期末考试语文试卷.pdf VIP
- 广东省深圳市宝安区2025-2026学年五年级上学期期末学业质量评估语文试卷.docx VIP
- 蛋白尿的鉴别课件.pptx VIP
- 2025年和田地区遴选公务员考试真题汇编及答案解析(夺冠).docx VIP
- 广东省东莞市2024-2025学年三年级上册期末考试数学试卷(含答案).pdf VIP
- 汉森打印软件说明书.pdf VIP
- 中医护理常规技术操作规程(最新).docx VIP
- arcgis软件使用专题培训.pdf VIP
- HG∕T 5293-2017 苯乙酸-行业标准.pdf VIP
- 信息资源管理题库-附答案 .pdf VIP
原创力文档

文档评论(0)