本文主要是介绍【1083】计算星期几,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1083:计算星期几
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 50998 通过数: 22223
【题目描述】
假设今天是星期日,那么过a^b天之后是星期几?
【输入】
两个正整数a,b,中间用单个空格隔开。0<a≤100,0<b≤10000。
【输出】
一个字符串,代表过abab天之后是星期几。
其中,Monday
是星期一,Tuesday
是星期二,Wednesday
是星期三,Thursday
是星期四,Friday
是星期五,Saturday
是星期六,Sunday
是星期日。
分析:这道题和前几题一样是考验能否将数据缩小以避免超出数据所能表示的范围,一个星期有七天,也就是说超过七天后就是重复循环的了,我们计算一下就能发现只要对天数取余就能去掉重复的天数。
#include<iostream>
using std::cin;
using std::cout;
using std::endl;
int main()
{int a, b;cin >> a >> b;int day = 1;//记录 a的b次方 天是几天for (int i = 0; i < b; i++){day = day * a;day %= 7;//去掉重复的周数}switch (day) {case 1 :cout << "Monday";break;case 2:cout << "Tuesday";break;case 3:cout << "Wednesday";break;case 4:cout << "Thursday";break;case 5:cout << "Friday";break;case 6:cout << "Saturday";break;case 0://注意,这里0才是代表星期天cout << "Sunday";break;default :break;}}
这篇关于【1083】计算星期几的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!