
解题思路,关键在于for语句,用于100的10000次方数据无法表达,所以用for语句,但是再如何表达num的最终结果使用seitch,for语句内部一个是num*=a;累乘,而第二句的原理是同余原理:

#include <stdio.h》
#include <math.h>
int main()
{
int a,b,num=1;
scanf("%d %d",&a,&b);
int i;
for(i=1;i<=b;i++)
{
num*=a;
num%=7;
}
switch(num){
case 0:
printf("Sunday");
break;
case 1:
printf("Monday");
break;
case 2:
printf("Tuesday");
break;
case 3:
printf("Wednesday");
break;
case 4:
printf("Thursday");
break;
case 5:
printf("Friday");
break;
case 6:
printf("Saturday");
break;
}
return 0;
}
8788

被折叠的 条评论
为什么被折叠?



