時間限制: 1 Sec
內存限制: 128 MB
提交: 110
解決: 22
[提交][狀態][討論版]
題目描述
CZY遇到了一個萌妹子,他使出渾身解數想要博得她的好感,但是妹子居然是個數學學霸!一天,那個女孩在解數列問題時遇到了一點麻煩,她有數列的前3項,數列不是等比數列就是等差數列,她很想知道這個數列的第n項是什麼,但是n可能很大,她算不出來,CZY很想幫她,可是CZY是個學渣,於是想請聰明的你來幫忙求出數列的第n項,由於數據可能太大了,最後的結果對200907取餘就好
輸入
輸入包含多組測試數據,每組測試數據包含4個整數,前三個整數是數列的前三項,最後一個數是n,四個數的範圍都是1~10^9
輸出
輸出這個數列的第n項%200907
樣例輸入
1 2 3 5
1 2 4 5
樣例輸出
5
16
周賽題目,以爲要算大數加法,乘法。。。各種複雜,不會寫。。。。看答案之後我||····||
#include<stdio.h>
int main()
{
int a,b,c,q,n;
long long sum;
while(~scanf("%d%d%d%d",&a,&b,&c,&n))
{
if(2b==c+a)
{
q=c-b;
sum=a;
for(int i=2;i<=n;++i)
{
sum+=q;
sum=sum%200907;
}
}
else if(b*b==c*a)
{
q=b/a;
sum=a;
for(int i=2;i<=n;i++)
{
sum*=q;
sum%=200907;
}
}
printf("%d\n",sum);
}
return 0;
}