nyoj 782 星期幾?【日期+快速冪】
阿新 • • 發佈:2019-02-15
星期幾?
時間限制:500 ms | 記憶體限制:65535 KB 難度:2- 描述
- Acmer 小魚兒 埋頭ku算一道題 條件:已知給定 一日期 告訴你這一天是 星期 n,讓你計算在未來的m的p次方的天數後是星期幾?他很苦惱,聰明的你能幫助他嗎?
- 輸入
- 有多組測試資料,每組測試資料以包含三個整數n,m,p(n<8,m<50,p>10)
- 輸出
- 輸出過了這麼多天後是星期幾
- 樣例輸入
-
3 2 20 5 3 100
- 樣例輸出
-
7 2
- 上傳者
思路:
通過快速冪並不斷對結果取餘,然後看看餘數為幾,就將原來的星期數加上幾,然後輸出,但是別忘了,在輸出之前有可能相加得到的數大於7,要將大於7的部分通過取餘把它去掉就行了!
程式碼:
#include <stdio.h>
int n,m,p,s;
void M()
{
s=1;
while(p)
{
if(p%2!=0)
{
s=(s*m)%7;
}
m=(m*m)%7;
p/=2;
}
s=s%7;
}
int main()
{
while(scanf("%d%d%d",&n,&m,&p)!=EOF)
{
M();
if(n+s>7)
printf("%d\n",(n+s)%7);
else
printf("%d\n",n+s);
}
return 0;
}