void qwq(int i,int k){
sinx[i]=sinx[i]*cos(k)+cosx[i]*sin(k);
cosx[i]=cosx[i]*cos(k)-sinx[i]*sin(k);
}
要这么写:
void qwq(int i,int k){
double Sin=sinx[i],Cos=cosx[i];
sinx[i]=Sin*cos(k)+Cos*sin(k);
cosx[i]=Cos*cos(k)-Sin*sin(k);
}
原因是 更新 cosx[i] 的时候会用到上面刚刚更新完的 sinx[i] 的值,导致答案错误。