1. 程式人生 > 其它 >PTA 1008 陣列元素迴圈右移問題 (20分) (Java實現)

PTA 1008 陣列元素迴圈右移問題 (20分) (Java實現)

技術標籤:PTAJava程式設計測試java陣列

題目:在這裡插入圖片描述

輸入格式:

每個輸入包含一個測試用例,第1行輸入N(1≤N≤100)和M(≥0);第2行輸入N個整數,之間用空格分隔。

輸出格式:

在一行中輸出迴圈右移M位以後的整數序列,之間用空格分隔,序列結尾不能有多餘空格。

輸入樣例:

6 2
1 2 3 4 5 6

輸出樣例:

5 6 1 2 3 4

實現程式碼:

注意:n>=m和n<m兩種情況,n>=m時先輸出後m個,因為當n=m時所有的數都右移了m次,相當於沒有變化,所以當n<m,先右移n的整數倍次,然後沒有變化,再右移m%n次!!!

import java.util.
Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n,m,t; n = sc.nextInt(); m = sc.nextInt(); t=n-1; int[] a = new int[n]; if(n>=m) { for(int i=0;i<n;i++) { a[i] = sc.nextInt(); } for(int i=(n-m);i<
n;i++) { System.out.print(a[i]); if(t>0) { System.out.print(" "); t--; } } for(int i=0;i<n-m;i++) { System.out.print(a[i]); if(t>0) { System.out.print(" "); t--; } } } else { for(int i=0;i<n;i++) {
a[i] = sc.nextInt(); } for(int i=n-(m%n);i<n;i++) { System.out.print(a[i]); if(t>0) { System.out.print(" "); t--; } } for(int i=0;i<n-(m%n);i++) { System.out.print(a[i]); if(t>0) { System.out.print(" "); t--; } } } } }