written by: 东篱下の悠然
思路:
- 考虑两种情况,右移位数刚好是原长度,则还是原数组,直接输出,完事
- 第二种情况,右移了原数组的一部分,先输出被移出去的元素,再输出前面剩下的元素
代码:
#include<bits/stdc++.h>
using namespace std;
int main() {
int m, n; cin >> m >> n;
n = n % m;
int a[105];
for(int i = 0; i < m; i ++) cin >> a[i];
//一种情况
if(n % m == 0) {
cout << a[0];
for(int i = 1; i < m; i ++) cout << " " << a[i];
return 0;
}
//另一种情况
bool f = 0;
for(int i = m - n; i < m; i ++) {
if(f) cout << " ";
cout << a[i];
f = 1;
}
for(int i = 0; i < m - n; i ++) {
cout << " " << a[i];
}
return 0;
}