输入样例:
6 2
1 2 3 4 5 6
输出样例:
5 6 1 2 3 4
伪代码:
1.读入数据;
2.从右往左拉M个位子;
3.多余的排到最前面;
关键:
Q:为什么要有save呢?
A:之所以会有save这个变量,就是因为要考虑到M>N这种情况;
Q:为什么不用m%n?
A:因为在第三个for循环里面改变了n的值;
#include <stdio.h>
int main(){
int a[10000];
int n,m,i,save;
scanf("%d%d",&n,&m);
save=m%n;
for(i=0;i<n;scanf("%d",&a[i++]))
;
for(i=n-1;i>=0;i--)
a[i+save]=a[i];
for(i=0;i<save;i++)
a[i]=a[n++];
for(i=0;i<n-save;i++){
printf("%d",a[i]);
if(i!=n-save-1)
printf(" ");
}
return 0;
}