CSES - Listan pienin

Listalla on aluksi kokonaisluku 11. Joka kierroksella poistat listalta pienimmän alkion xx ja lisäät listalle alkiot 2x2x ja 3x3x. Mikä on listan pienin alkio nn kierroksen jälkeen? Voit olettaa, että nn on enintään 10510^5.

Esimerkiksi kun n=5n=5, lista muuttuu näin:

[1][2,3][3,4,6][4,6,6,9][6,6,9,8,12][6,9,8,12,12,18][1] \rightarrow [2,3] \rightarrow [3,4,6] \rightarrow [4,6,6,9] \rightarrow [6,6,9,8,12] \rightarrow [6,9,8,12,12,18]

Tässä tapauksessa listan pienin alkio lopussa on 66.

Python

Toteuta tiedostoon twothree.py funktio smallest, joka antaa vastauksen.

def smallest(n):
    # TODO

if __name__ == "__main__":
    print(smallest(1)) # 2
    print(smallest(5)) # 6
    print(smallest(123)) # 288
    print(smallest(55555)) # 663552

Java

Toteuta tiedostoon TwoThree.java metodi smallest, joka antaa vastauksen.

public class TwoThree {
    public int smallest(int n) {
        // TODO
    }

    public static void main(String[] args) {
        TwoThree t = new TwoThree();
        System.out.println(t.smallest(1)); // 2
        System.out.println(t.smallest(5)); // 6
        System.out.println(t.smallest(123)); // 288
        System.out.println(t.smallest(55555)); // 663552
    }
}