输入M的向右移,如果M>N的话肯定是有重复项,多出来的就应该去掉,不难发现有一定的规律,可以将M先减少到小于N的数量先,这样就可以从m到n循环,0到m循环依次输出
代码实现:
#include<stdio.h>
#include<iostream>
#include<string>
using namespace std;
int main(){
int n,m;
int num[101];
for(int i = 0;i<101;i++){
num[i] = 0;
}
cin>>n>>m;
for(int i = 0;i<n;i++){
cin>>num[i];
}
while(m){
if(m/n==0)
break;
m = m%n;
}
int isfirst = 1;
for(int i = n-m;i<n;i++){
if(isfirst){
cout<<num[i];
isfirst = 0;
}else{
cout<<' '<<num[i];
}
}
for(int i = 0;i<n-m;i++){
if(isfirst){
cout<<num[i];
isfirst = 0;
}else{
cout<<' '<<num[i];
}
}
return 0;
}