输入格式:
每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。
输出格式:
在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。
输入样例:
6 2
1 2 3 4 5 6
输出样例:
5 6 1 2 3 4
//1007
import java.util.Scanner;
import java.util.Arrays;
public class Main{
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
// 输入N和M
int N=in.nextInt();
int M=in.nextInt();
String input1=in.nextLine();
String[] numS;
int[] num=new int[N];
numS=in.nextLine().split(" ");
for(int i=0;i<N;i++){
num[i]=Integer.parseInt(numS[i]);
}
while(true){
if(N>M){
for (int i = N - M; i < N; i++) {
System.out.print(num[i] + " ");
}
for (int i = 0; i < N - M; i++) {
if (i == N - M - 1) {
System.out.print(num[i]);
} else {
System.out.print(num[i] + " ");
}
}
break;
}
else{
M-=N;
}
}
}
}
错误思路是直接用字符串来调整,但实际上多位数是很难判断的;只考虑到N>M的情况,实际上M也有可能>N。