[算法]黑色星期五
作者:互联网
黑色星期五
题目概述
黑色星期五源于西方的宗教信仰与迷信: 耶稣基督死在星期五,而13是不吉利的数字.两者的结合令人相信当天会发生不幸的事情.星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天.所以,不管哪个月的13日又恰逢星期五就叫"黑色星期五".
输入格式:输入只有一行,即某个特定的年份(大于或等于1998年)。
输出格式:输出只有一行,即在这一年中,出现了多少次既是13号又是星期五的情形。
样例输入
1998
样例输出
3
算法思路
- 日期的处理是一个困难的点
- 使用Java的话不要自己重复造轮子,使用
Calendar
类来处理日期
- 使用Java的话不要自己重复造轮子,使用
- 逻辑很简单 => 13号 && 星期五
代码示例
public class 黑色星期五 {
// 判断是否为13号是否为星期五
static boolean judge(Calendar cal) {
return cal.get(Calendar.DAY_OF_WEEK) - 1 == 5;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
int cnt = 0;
// 遍历每个月份的13号,进行判断是否为黑色星期五
for (int mon = 1; mon <= 12; mon++) {
Calendar cal = Calendar.getInstance();
cal.set(year, mon - 1, 13); // 注意: Calender的 MONTH,DAY_OF_WEEK
if (judge(cal))
cnt++;
}
System.out.printf("%s年有%s次黑色星期五", year, cnt);
}
}
标签:13,黑色,int,星期五,算法,mon,Calendar 来源: https://www.cnblogs.com/Rowry/p/11951714.html