Lukujonon jokainen alkio on pienin positiivinen kokonaisluku, jota ei ole vielä esiintynyt lukujonossa ja jossa on yksi tai useampi toistuva numero.
Lukujono alkaa näin:
11, 22, 33, 44, 55, 66, 77, 88, 99, 100, 101, 110, 111, 112, 113, 114, \dots
Tehtäväsi on etsiä lukujonon kohdassa n oleva luku. Voit olettaa, että n on enintään 1000.
Python
Toteuta tiedostoon sequence.py
funktio generate
, joka palauttaa halutun lukujonon alkion.
def generate(n): # TODO if __name__ == "__main__": print(generate(1)) # 11 print(generate(2)) # 22 print(generate(3)) # 33 print(generate(10)) # 100 print(generate(123)) # 505
Java
Toteuta tiedostoon Sequence.java
metodi generate
, joka palauttaa halutun lukujonon alkion.
public class Sequence { public int generate(int n) { // TODO } public static void main(String[] args) { Sequence s = new Sequence(); System.out.println(s.generate(1)); // 11 System.out.println(s.generate(2)); // 22 System.out.println(s.generate(3)); // 33 System.out.println(s.generate(10)); // 100 System.out.println(s.generate(123)); // 505 } }