aboutsummaryrefslogtreecommitdiff
path: root/challenge-252/luca-ferrari/java/ch_2.java
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-252/luca-ferrari/java/ch_2.java')
-rw-r--r--challenge-252/luca-ferrari/java/ch_2.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/challenge-252/luca-ferrari/java/ch_2.java b/challenge-252/luca-ferrari/java/ch_2.java
new file mode 100644
index 0000000000..5a4b46083a
--- /dev/null
+++ b/challenge-252/luca-ferrari/java/ch_2.java
@@ -0,0 +1,40 @@
+import java.util.*;
+
+public class ch_2 {
+ public static void main( String argv[] ) throws Exception {
+ int size = Integer.parseInt( argv[ 0 ] );
+
+ if ( size <= 3 )
+ throw new Exception( "Cannot work with a size less than 3!" );
+
+ List<Integer> nums = new LinkedList<Integer>();
+
+
+ if ( size % 2 == 0 ) {
+ for ( int i = 1; i < size / 2 ; i++ ) {
+ nums.add( i );
+ nums.add( i * -1 );
+ }
+ }
+ else {
+ for ( int i = 1; i < ( size - 1 ) / 2 ; i++ ) {
+ nums.add( i );
+ nums.add( i * -1 );
+ }
+
+ int next = ( size - 1 ) / 2 + 1;
+ nums.add( next );
+ nums.add( next + 1 );
+ nums.add( ( next * 2 + 1 ) * -1 );
+ }
+
+
+ boolean printedOne = false;
+ for ( int i : nums ) {
+ System.out.print( i + ( printedOne ? ", " : "" ) );
+ printedOne = true;
+ }
+
+ System.out.println();
+ }
+}