洛谷B2074 计算星期几(解决数据爆炸pow)

题目描述

假设今天是星期日,那么过 aa 的 bb 次方天之后是星期几?

输入格式

两个正整数 a,b,中间用单个空格隔开。 0<a≤100,0<b≤10000。

输出格式

一个字符串,代表过 a 的 b 次方天之后是星期几。

其中,Monday 是星期一,Tuesday 是星期二,Wednesday 是星期三,Thursday 是星期四,Friday 是星期五,Saturday 是星期六,Sunday 是星期日。

 注意:由于数据限制,直接用pow函数可能会造成数据爆炸,故而考虑采用边乘边取余。

#include<stdio.h>
main()
{
	int a,b,c=1,i;
	scanf("%d%d",&a,&b);
	for(i=1;i<=b;i++)
	{
		c*=a;
		c%=7;//边乘边模
	}
	if(c%7==1)
	printf("Monday");
	else if(c%7==2)
	printf("Tuesday");
	else if(c%7==3)
	printf("Wednesday");
	else if(c%7==4)
	printf("Thursday");
	else if(c%7==5)
	printf("Friday");
	else if(c%7==6)
	printf("Saturday");
	else
	printf("Sunday");
}

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值