Algorithm 使用编程找到下一个13号星期五的最有效方法
可能重复:Algorithm 使用编程找到下一个13号星期五的最有效方法,algorithm,programming-languages,time-complexity,Algorithm,Programming Languages,Time Complexity,可能重复: 当我啜饮啤酒感到无聊时,这个问题浮现在我的脑海里。如何使用流行的编程语言如C、Java、, C#、Python、Perl、PHP甚至Lisp、ALGOL等。哪种代码看起来最短、更智能 有很多方法。这是一个。注意我没有检查它是否被解析,但是这个想法是正确的 C#: DateTime date=DateTime.Now;//因为今天是13号。如果系统日期更改,则硬编码日期。 而(日期
当我啜饮啤酒感到无聊时,这个问题浮现在我的脑海里。如何使用流行的编程语言如C、Java、,
C#、Python、Perl、PHP甚至Lisp、ALGOL等。哪种代码看起来最短、更智能 有很多方法。这是一个。注意我没有检查它是否被解析,但是这个想法是正确的 C#:
DateTime date=DateTime.Now;//因为今天是13号。如果系统日期更改,则硬编码日期。
而(日期<)
{
日期=日期加月份(1);
如果(date.DayOfWeek==DayOfWeek.Friday)
System.Console.PrintLine(date.ToString());
}
Polling类型的问题在这里不再受欢迎。如果你有一个有明确答案的问题,请继续。如果你有一个答案不多的问题,不要问太多。投票结束。也许这更适合代码高尔夫?还要注意,“变得无聊”从来都不是一个好品质。“变得无聊”更好:)我只是想得到用任何语言编码的最短或最聪明的答案。我有一个Java版本。接下来,我想从学习一个新的PL开始。我想我可以从SO社区得到有趣的答案,并帮助我激励自己。如果你想要最短的,如“用于表达源代码的符号最少”,这并不是一个很好的目标。使用APL,我可能可以通过这个指标击败这里的所有人,但这并不意味着APL是最好的语言。
DateTime date = DateTime.Now; // as today is 13th. If system date changes then hardcode date.
while (date < <Some date in the future you want to report to>)
{
date = date.AddMonths(1);
if (date.DayOfWeek == DayOfWeek.Friday)
System.Console.PrintLine(date.ToString());
}