CSES - Siksak

Listalle lisätään luvut 1,2,\dots,n, ensin luku 1 ja sitten seuraavat luvut vuorotellen oikealle ja vasemmalle puolelle. Esimerkiksi kun n=5, tuloksena on lista [5,3,1,2,4].

Millainen lista tulee tietyllä n:n arvolla? Voit olettaa, että 1 \le n \le 1000.

Python

Toteuta tiedostoon zigzag.py funktio create, joka muodostaa listan.

def create(n):
    # TODO

if __name__ == "__main__":
    print(create(1)) # [1]
    print(create(2)) # [1,2]
    print(create(3)) # [3,1,2]
    print(create(4)) # [3,1,2,4]
    print(create(5)) # [5,3,1,2,4]

Java

Toteuta tiedostoon Zigzag.java metodi create, joka muodostaa listan.

import java.util.*;

public class Zigzag {
    public int[] create(int n) {
        // TODO
    }

    public static void main(String[] args) {
        Zigzag z = new Zigzag();
        System.out.println(Arrays.toString(z.create(1))); // [1]
        System.out.println(Arrays.toString(z.create(2))); // [1,2]
        System.out.println(Arrays.toString(z.create(3))); // [3,1,2]
        System.out.println(Arrays.toString(z.create(4))); // [3,1,2,4]
        System.out.println(Arrays.toString(z.create(5))); // [5,3,1,2,4]
    }
}