这是您应该记住的通用伪代码设计:
- 在 的边界上迭代
max
。
- 打印您的第一个号码集。
- 遍历数组的最大边界。
- 如果
max
您当前位置的值的余数为 0,则将其设置为min
。
- 否则,将您当前位置的值增加 1。
这是一个粗略的实现,涉及一个数组。
public void printRotatedNumbers(int[] array, int a, int b) {
for(int i = 0; i < b; i++) {
System.out.println(Arrays.toString(array));
for(int j = 0; j < array.length; j++) {
if(array[j] % b == 0) {
array[j] = a;
} else {
++array[j];
}
}
}
}
在 10 个整数元素的数组上,使用a = 1
和b = 10
,你会得到:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[2, 3, 4, 5, 6, 7, 8, 9, 10, 1]
[3, 4, 5, 6, 7, 8, 9, 10, 1, 2]
[4, 5, 6, 7, 8, 9, 10, 1, 2, 3]
[5, 6, 7, 8, 9, 10, 1, 2, 3, 4]
[6, 7, 8, 9, 10, 1, 2, 3, 4, 5]
[7, 8, 9, 10, 1, 2, 3, 4, 5, 6]
[8, 9, 10, 1, 2, 3, 4, 5, 6, 7]
[9, 10, 1, 2, 3, 4, 5, 6, 7, 8]
[10, 1, 2, 3, 4, 5, 6, 7, 8, 9]