力扣1185
我的答案:(变量名随便起的,不规范)
class Solution { public: string dayOfTheWeek(int day, int month, int year) { std::string site[7] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}; int year2 = 1971, year1 = 0; int num = 5, cishu = 0, result = 0,xunhuan = 0,i = 0, res, ress; year1 = year; xunhuan = year - year2; while (xunhuan >= 1) { ++year2; if (year < 1971 || year > 2100) { return 0; } if (((year2 - 1) % 4 == 0 && (year2 - 1) % 100 != 0) || (year2 - 1) % 400 == 0) { res = (num + 366) / 7; ress = (num + 366) - res * 7; if (ress == 0) { num = num + 2; } else { num = ress; } } else { res = (num + 365) / 7; ress = (num + 365) - res * 7; if (ress == 0) { num = num + 1; } else { num = ress; } } xunhuan = year - year2; } //一年有12个月,其中1月、3月、5月、7月、8月、10月、12月每个月都有31天 //4月、6月、9月、11月每个月都有30天 120,2月份平年有28天,闺年有29天 if ((year1 % 4 == 0 && year1 % 100 != 0) || year1 % 400 == 0) { i = 29; } else { i = 28; } switch (month) { case 1: cishu = day / 7; result = (day) - (cishu * 7) - 1; num = num + result; if (num >= 8) { num = num - 7; } else if (day == 1) { num = num; } break; case 2: day = day + 31; cishu = day / 7; result = (day) - (cishu * 7) - 1; num = num + result; if (num >= 8) { num = num - 7; } else if (day == 1) { num = num; } break; // 可选的 case 3: day = day + 31 + i; cishu = day / 7; result = (day) - (cishu * 7) - 1; num = num + result; if (num >= 8) { num = num - 7; } else if (day == 1) { num = num; } break; case 4: day = day + 31 + i + 31; cishu = day / 7; result = (day) - (cishu * 7) - 1; num = num + result; if (num >= 8) { num = num - 7; } else if (day == 1) { num = num; } break; case 5: day = day + 31 + i + 31 + 30; cishu = day / 7; result = (day) - (cishu * 7) - 1; num = num + result; if (num >= 8) { num = num - 7; } else if (day == 1) { num = num; } break; case 6: day = day + 31 + i + 31 + 30 + 31; cishu = day / 7; result = (day) - (cishu * 7) - 1; num = num + result; if (num >= 8) { num = num - 7; } else if (day == 1) { num = num; } break; case 7: day = day + 31 + i + 31 + 30 + 31 + 30; cishu = day / 7; result = (day) - (cishu * 7) - 1; num = num + result; if (num >= 8) { num = num - 7; } else if (day == 1) { num = num; } break; case 8: day = day + 31 + i + 31 + 30 + 31 + 30 + 31; cishu = day / 7; result = (day) - (cishu * 7) - 1; num = num + result; if (num >= 8) { num = num - 7; } else if (day == 1) { num = num; } break; case 9: day = day + 31 + i + 31 + 30 + 31 + 30 + 31 + 31; cishu = day / 7; result = (day) - (cishu * 7) - 1; num = num + result; if (num >= 8) { num = num - 7; } else if (day == 1) { num = num; } break; case 10: day = day + 31 + i + 31 + 30 + 31 + 30 + 31 + 31 + 30; cishu = day / 7; result = (day) - (cishu * 7) - 1; num = num + result; if (num >= 8) { num = num - 7; } else if (day == 1) { num = num; } break; case 11: day = day + 31 + i + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31; cishu = day / 7; result = (day) - (cishu * 7) - 1; num = num + result; if (num >= 8) { num = num - 7; } else if (day == 1) { num = num; } break; case 12: day = day + 31 + i + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30; cishu = day / 7; result = (day) - (cishu * 7) - 1; num = num + result; if (num >= 8) { num = num - 7; } else if (day == 1) { num = num; } break; } switch (num) { case 1: return site[0]; break; case 2: return site[1]; break; case 3: return site[2]; break; case 4: return site[3]; break; case 5: return site[4]; break; case 6: return site[5]; break; case 7: return site[6]; break; } return site[6]; } };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix