2007-1-4 星期四

转眼间跨到07年了,呵呵。

今天学习了Hibernate的List,Set,Map映射,它们都是应用类之间的内嵌方式,List和Set都是按数值索引,Set不能有重复值,List必须有一个Index字段,和主健形成联合主健,Map是以键值对形式的集合,也不允许重复,用那种方式取决于数据库表如何设计,和一对多不同的是,一对多采用关联方式,具体体现在持久类里面倒没看出什么差别,在配置文件上有差别,在实际应用中体会吧。

开始有就业的压力了。

#include <iostream> using namespace std; // 判断是否为闰年 bool isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } // 返回某年某月有多少天 int daysInMonth(int year, int month) { int days[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if (month == 2 && isLeapYear(year)) { return 29; } return days[month]; } // 计算从 2007年9月1日到目标日期之间的天数差 int getDifference(int y, int m, int d) { int total = 0; // 先累加完整年份的天数(从2007到y-1) for (int i = 2007; i < y; ++i) { total += isLeapYear(i) ? 366 : 365; } // 再累加当前年的前m-1个月的天数 for (int i = 1; i < m; ++i) { total += daysInMonth(y, i); } // 最后加上当前月已经过去的天数d,并减去起始日之前的天数 total += d - 1; // 因为2007-9-1是第一天,所以要减掉前面的 return total; } // 计算某日期是星期几(已知2007-9-1是星期六,即6) int getWeekday(int y, int m, int d) { int diff = getDifference(y, m, d); // 得到距离起始日的天数 return (6 + diff) % 7; // 起始是星期六(6),加diff天后取模 } int main() { int year, month, day; cin >> year >> month >> day; int weekday = getWeekday(year, month, day); // 星期一输出 ALL(注意:这里星期一对应的是 1) if (weekday == 1) { cout << "ALL" << endl; } else { // 计算从2007-9-1开始过了多少天 int diff = getDifference(year, month, day); // 四人轮流,从B开始(0:B, 1:X, 2:H, 3:P) char person[] = {'B', 'X', 'H', 'P'}; cout << person[diff % 4] << endl; } return 0; }这个运行之后,输入2007 9 1,输出什么
12-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值