- 浏览: 193089 次
文章分类
- 全部博客 (185)
- A Design Patterns (2)
- B Refactoring (0)
- C Test (2)
- D Software Engineering (0)
- E Other Tech Articles (4)
- F My Blog (0)
- G TechJie forum & QQ group (2)
- H Programmer (6)
- I 杂7杂8 (4)
- J Translations (0)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (3)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (14)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (40)
- [网站分类]4.其他技术区 (9)
- [网站分类]5.企业信息化 (0)
- [网站分类]6.读书心得区(技术书籍阅读心得、书籍推荐) (8)
- [网站分类]7.提问区(.NET技术方面的提问) (6)
- [网站分类]8.技术转载区(.NET技术文章转载, 请注明原文出处) (24)
- [网站分类]9.求职招聘区(个人求职、企业招聘) (0)
- [网站分类]GIS技术 (0)
- [网站分类]SharePoint (0)
- [网站分类]博客园.NET俱乐部(俱乐部组织与活动方面的文章) (2)
- [网站分类]软件发布区(发布自己开发的代码、软件) (0)
- [网站分类]网站管理区(网站管理方面的疑问、建议、意见, 寻求管理员帮助) (0)
- [网站分类]业界新闻 (6)
最新评论
-
没有终点:
不懂 lz说的是啥 我太菜了
超简单SVN教程 -
韩悠悠:
超简单SVN教程 -
DraculaW:
orz...如果让他去写书很好奇这个作者会怎么解释vector ...
又见热书讨论《JavaScript征途》 -
gigix:
weiqingfei 写道为什么国内写书的都是烂人?
为什么高 ...
又见热书讨论《JavaScript征途》 -
weiqingfei:
为什么国内写书的都是烂人?为什么高手都不写书?
又见热书讨论《JavaScript征途》
没有时间整理了,代码效率很低,以后有时间提高,仅供大家讨论:)偷懒,没有写注释,把计算放在Click方法了。相关背景
1 private void Find_Click(object sender, EventArgs e) // Find the birthday
2 {
3 BirthdayManager bm = new BirthdayManager();
4
5 foreach (Birthiday birthday in bm.BirthdayList)
6 {
7 int date = birthday.Date;
8
9 if (bm.CountDate(date) == 1) // The date value must not be unique, or Qiang would know it at first.
10 {
11 bm.MarkMon(birthday.Mon, false);
12 }
13 }
14
15 bm.ExcludeImpossible();
16
17 foreach (Birthiday birthiday in bm.BirthdayList)
18 {
19 int date = birthiday.Date;
20
21 if (bm.CountDate(date) > 1) birthiday.Possible = false; // The date value must be unique, or Qiang would not know it!
22 }
23
24 bm.ExcludeImpossible();
25
26 foreach (Birthiday birthiday in bm.BirthdayList)
27 {
28 int mon = birthiday.Mon;
29
30 if (bm.CountMon(mon) > 1) birthiday.Possible = false; // The month value must be unique, or Ming would not know it!
31 }
32 bm.ExcludeImpossible();
33
34 }
35
36 public class Birthiday // A quite simple class
37 {
38 public int Mon;
39 public int Date;
40 public bool Possible;
41
42 public Birthiday(int mon, int date)
43 {
44 Possible = true;
45 Mon = mon;
46 Date = date;
47 }
48
49 public new string ToString()
50 {
51 if (Possible) return "Possible Mon:" + Mon + "; Date:" + Date;
52 else return "Not Possible Mon:" + Mon + "; Date:" + Date;
53 }
54
55 }
56
57 public class BirthdayManager // You are not supposed to read this classJ, the method names are so understandable!
58 {
59 Birthiday[] birthdays = new Birthiday[10];
60 public IList<Birthiday> BirthdayList = new List<Birthiday>();
61
62 public BirthdayManager()
63 {
64 birthdays[0] = new Birthiday(3, 4);
65 birthdays[1] = new Birthiday(3, 5);
66 birthdays[2] = new Birthiday(3, 8);
67 birthdays[3] = new Birthiday(6, 4);
68 birthdays[4] = new Birthiday(6, 7);
69 birthdays[5] = new Birthiday(9, 1);
70 birthdays[6] = new Birthiday(9, 5);
71 birthdays[7] = new Birthiday(12, 1);
72 birthdays[8] = new Birthiday(12, 2);
73 birthdays[9] = new Birthiday(12, 8);
74 foreach (Birthiday birthday in birthdays)
75 {
76 BirthdayList.Add(birthday);
77 }
78 }
79
80 public int CountDate(int date)
81 {
82 int count = 0;
83 foreach (Birthiday birthiday in BirthdayList)
84 {
85 if (birthiday.Date == date) count++;
86 }
87 return count;
88 }
89
90 public int CountMon(int mon)
91 {
92 int count = 0;
93 foreach (Birthiday birthiday in BirthdayList)
94 {
95 if (birthiday.Mon == mon) count++;
96 }
97 return count;
98 }
99
100 public void MarkMon(int mon, bool b)
101 {
102 foreach (Birthiday birthiday in BirthdayList)
103 {
104 if (birthiday.Mon == mon) birthiday.Possible = b;
105 }
106 }
107
108 public void ExcludeImpossible()
109 {
110 BirthdayList.Clear();
111 foreach (Birthiday birthday in birthdays)
112 {
113 if (birthday.Possible) BirthdayList.Add(birthday);
114 }
115 }
116
135 public new string ToString()
136 {
137 string ret = "";
138 foreach (Birthiday birthiday in BirthdayList)
139 {
140 ret += birthiday.ToString() + "\n";
141 }
142 return ret;
143 }
144 }
发表评论
-
23个模式中你最想干掉谁?
2006-12-03 17:34 834*两天发了三个首页确实有污染版面之嫌,但是最后这个帖子实在是非 ... -
从零开始学习Webservice
2007-01-15 21:37 942下载附件作为2007技术目标的第一条,学习Webservice ... -
老师生日问题的解答
2007-03-13 23:31 899没有时间整理了,代码效率很低,以后有时间提高,仅供大家讨论:) ... -
Write test classes per purpose, rather than per class
2007-03-31 16:52 783I've noticed two styles I've us ... -
关于TDD构造函数(From Maillist)
2007-05-13 14:21 748Frank: 大家好,不知道有没有人能帮我看看这个有些罗嗦的 ... -
MVC & MVP - Martin's "GUI Architectures" series (1) updated on 15 July. 07
2007-05-31 12:14 975翻译Martin的文章并没有跟人家打招呼,我想他太忙了。翻译文 ... -
超简单SVN教程
2007-07-09 17:38 3494冰融 17:31:06你创建一个库了? 沧浪之水 17:29: ... -
23个模式中你最想干掉谁?
2006-12-03 17:34 718*两天发了三个首页确实有污染版面之嫌,但是最后这个帖子实在是非 ... -
从零开始学习Webservice
2007-01-15 21:37 787下载附件作为2007技术目标的第一条,学习Webservice ... -
Write test classes per purpose, rather than per class
2007-03-31 16:52 1058I've noticed two styles I've us ... -
关于TDD构造函数(From Maillist)
2007-05-13 14:21 857Frank: 大家好,不知道有没有人能帮我看看这个有些罗嗦的 ... -
MVC & MVP - Martin's "GUI Architectures" series (1) updated on 15 July. 07
2007-05-31 12:14 1327翻译Martin的文章并没有跟人家打招呼,我想他太忙了。翻译文 ... -
超简单SVN教程
2007-07-09 17:38 1512冰融 17:31:06你创建一个库了? 沧浪之水 17:29: ...
相关推荐
生日问题是指,如果一个房间里有23个或23个以上的人,那么至少有两个人的生日相同的概率要大于50%。这就意味着在一个典型的标准小学班级(30人)中,存在两人生日相同的可能性更高。对于60或者更多的人,这种概率要...
一个房间有23个人,会有两个人生日相同吗?答案是有50%的概率。这就是所谓的生日问题birthday problem)或生日悖论(birthday paradox)。本文回答的问题是,当人数众多时,生日相同的概率达到50%,有多少人。
用python画生日蛋糕,并可自行设置生日祝福对象及祝福语。
编码实现对朋友的生日祝福。包含了祝福语的动态变化以及屏幕颜色的变化。比较有趣
用python画生日蛋糕,并可自行设置生日祝福对象及祝福语。
生日快乐c
html好看的生日祝福,生日表白(源码).zip 代码完整,下载可用。小白也可实战。 html好看的生日祝福,生日表白(源码).zip 代码完整,下载可用。小白也可实战。html好看的生日祝福,生日表白(源码).zip 代码完整,...
生日快乐歌 程序代码 lyric=['祝你生日快乐'... '祝你生日快乐'... '祝你生日快乐'... '祝你生日快乐'];
1-9岁生日电视投屏壁纸,生日壁纸,小朋友生日。 可爱的生日壁纸。63张 7类壁纸
利用二进制,写出五组数据,然后问对方五个相同问题:你的生日是否在这些数中,之后根据二进制,计算这个人的生日.
如果您是一名在读的学生 特别是一名生活委员时 您是否会为了确定同学的生日而查日历 特别是农历 而感到特别繁琐 如果您将是一名快要毕业的学生 你是否想在毕业之后几年后 仍能记住上学时同学的面孔 如果您是一位拥有...
c++的生日歌代码,挺简单的
生日快乐代码.zip
用html+css+js实现的一个生日表白的一个代码。从此不用担心找不到女朋友
老师生日祝酒词.doc
老师生日祝福语.doc
父亲生日宴会贺词_生日贺词
1.请将"祝你生日快乐.mp3"放在与"生日名单.exe"相同的目录下; 2.此软件支持公历、农历两种生日提醒功能; 3.将"亲友生日提醒簿.exe"添加到"启动"项中,如果在今、明、后这三天有人生日...有何问题,请跟作者联系.
html写的生日祝福代码
生日快乐歌曲程序【汇编语言】.zip生日快乐歌曲程序【汇编语言】.zip生日快乐歌曲程序【汇编语言】.zip生日快乐歌曲程序【汇编语言】.zip生日快乐歌曲程序【汇编语言】.zip生日快乐歌曲程序【汇编语言】.zip生日快乐...