Java数列ループ左シフト
5254 ワード
説明
n個の整数で配列(数列)を構成します.ここで,数列中の各数を順に左にk個の位置を移動させ,移動した数を尾から移動させる.移動後の数列要素を出力します.テーマはnの範囲を教えていません.配列の大きさを事前に定義しないでください.また、関数LeftShift()void LeftShift(int*a,int n,int k){//ループ移動後の数値は配列aに格納する必要がある.
入力
入力は2行に分けられ、最初の行は2つの整数nとkである.2行目はn個の整数です.データは','で区切られています.
しゅつりょく
出力は1行あり、ループ左シフト後のn個の整数であり、','で区切られている.
難易度
中程度
入力例
出力例
完了コード:
n個の整数で配列(数列)を構成します.ここで,数列中の各数を順に左にk個の位置を移動させ,移動した数を尾から移動させる.移動後の数列要素を出力します.テーマはnの範囲を教えていません.配列の大きさを事前に定義しないでください.また、関数LeftShift()void LeftShift(int*a,int n,int k){//ループ移動後の数値は配列aに格納する必要がある.
入力
入力は2行に分けられ、最初の行は2つの整数nとkである.2行目はn個の整数です.データは','で区切られています.
しゅつりょく
出力は1行あり、ループ左シフト後のn個の整数であり、','で区切られている.
難易度
中程度
入力例
6,2
1,2,3,4,5,6
出力例
3,4,5,6,1,2
完了コード:
1 import java.util.Scanner;
2
3 public class Demo01{
4 public static void main(String[] args) {
5 Scanner input = new Scanner(System.in);
6 String t=input.nextLine();
7 String[] t1=t.split(",");
8 String t3=input.nextLine();
9 String[] t2=t3.split(",");
10 int n=Integer.parseInt(t1[0]);
11 int k=Integer.parseInt(t1[1]);
12 int[] a=new int[n];
13 for(int i=0;i){
14 a[i]=Integer.parseInt(t2[i]);
15 }
16 LeftShift(a,n,k);
17 input.close();
18 }
19 public static void LeftShift(int[] a,int n,int k){
20 int[] s=new int[n];
21 for(int i=0;i// ,
22 s[i]=a[k];
23 k++;
24 if(k==6){
25 k=0;
26 }
27 }
28 for(int i=0;i){
29 a[i]=s[i];
30 }
31 System.out.print(a[0]);
32 for(int i=1;i){
33 System.out.print(","+a[i]);
34 }
35 }
36 }