这是我写的一个程序 ,找不出错误啊!各位帮帮忙。
/*Description 对于所有的整数p和q并且q>0.规定p mod q得到的整数r满足0 <= r <= q ?1,从而可得p?r是可以整除q。例如:
109 %10 = 9
-7 %3 = 2
-56 %7 = 0
如下是Φ的一种功能:
i=1 Φ(i)=ai=2 Φ(i)=b i=3 Φ(i)=c
i is even Φ(i) =(f*Φ(i-1)-d*jΦ(i-2)+e*Φ(i-3))%h;
i is odd Φ(i) =(f*Φ(i-1)+d*jΦ(i-2)-e*Φ(i-3))%g;odd是奇数,even是偶数。
Input
多组测试数据,每组输入九个整数, a b c d e f g h i, 且i >= 0; 所有的数都小于1000;
Output
输出一个整数, 即当变量等于i时的函数值。
Sample Input
1 2 3 4 5 6 7 8 9
11 12 13 14 15 16 17 18 19
321 322 323 324 325 326 327 328 329
Sample Output
4
0
90*/
#include<iostream>
using namespace std;
int main(){
int a,b,c,d,e,f,g,h,i,j[1000];
while(cin>>a>>b>>c>>d>>e>>f>>g>>h>>i){
j[0]=a;j[1]=b;j[3]=c;
if(i>=3){
for(int k=3;k<=i;k++){
if(i&1) j[i]=(f*j[i-1]-d*j[i-2]+e*j[i-3])%h;
else j[i]=(d*j[i-1]+e*j[i-2]-f*j[i-3])%g;
}
}
cout<<j[i]<<endl;
}
return 0;
}