# liefert zurueck an welcher Stelle die x-stelligen Zahlen beginnen def begin(x): stelle = 1 for i in range(1, x): stelle += 9 * (10**(i-1)) * i return stelle def stelle(pos): n = 0 i = 0 # suche nach Anfang der x-stelligen Region in der pos liegt while n <= pos: i += 1 n = begin(i) stellen = i-1 startpos = begin(stellen) startvalue = 10**(stellen-1) diff = pos - startpos zahl = startvalue + diff/stellen result = (zahl / (10**(stellen-(diff%stellen)-1))) % 10 return result product = 1 for i in range(0, 7): product *= stelle(10**i) print product