https://www.patest.cn/contests/pat-b-practise/1008
#include<stdio.h>
int main(){
int N=0;
int M=0;
int a[1000]={0};
scanf("%d %d",&N,&M);
int i=0;
for(i=0;i<N;i++){
scanf("%d",&a[i]);
}
while(M>N)
M -=N;
for(i=0;i<N;i++){
if(i!=N-1)
printf("%d ",a[(N-M+i)%N]);
else
printf("%d",a[(N-M+i)%N]);
}
return 0;
}
我做这道题的时候出现了一个理解问题,当M>N时的处理,我的理解是不做任何处理,正确的理解应该是将其转化到M之内,即M%N。