【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;
	}

}

猜你喜欢

转载自blog.csdn.net/LWX3289765163/article/details/121253899