import java.util.*;
import java.io.*;
public class cses6 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
String m = "";
ArrayList<Integer> even = new ArrayList<Integer>();
ArrayList<Integer> odd = new ArrayList<Integer>();
ArrayList<String> stringjoin = new ArrayList<String>();
if (n == 1) {
System.out.println(n);
}
if (1 < n && n< 4) {
System.out.println("NO SOLUTION");
}
even.set(0, 4);
even.set(1, 2);
odd.add(0, 1);
for (int i = 1; i < n+1 && i > 4; i++) {
if (i % 2 == 0) {
even.add(i);
} else {
odd.add(i);
}
}
odd.addAll(even);
for (int i = 1; i < odd.size(); i++) {
m = Integer.toString(odd.get(i));
stringjoin.set(i,m);
}
System.out.println(stringjoin.toString().replace(", ", " ").replace("[", "").replace("]",""));
}
}
Benim sorunum şu: Giriş
Tek giriş satırı bir tamsayı n içerir.
Çıktı
1,2,..., n tamsayılarının güzel bir permütasyonunu yazdırın. Birkaç çözüm varsa, bunlardan herhangi birini yazdırabilirsiniz. Çözüm yoksa, "ÇÖZÜM YOK" yazın.
Ancak, dizin sınır dışı hatası alıyorum. Kodumun hangi kısmı yanlış ve hatayı nasıl çözebilirim? Hata 19 satırında gerçekleşir