modifiziert Kaprekar < /strong> Zahl ist ein positives Ganzzahlen -N -Nummern n mit D -Ziffern, sodass wir in zwei Teile. Ein rechter Handstück mit D -Znigungen. Die SUB -HAND -Digiten enthalten. Zahl (d. H. L + r = n). Zwei Teile entsprechen der ursprünglichen Zahl. Also habe ich das folgende Code geschrieben: < /p>
Code: Select all
def checkIsKaprekar( num ):
string_num = str(num**2)
if num == int(string_num[:len(string_num)//2]) + int(string_num[len(string_num)//2:]):
return True
kaprekars = [ str(i) for i in range(int(input()),int(input())) if checkIsKaprekar(i) == True ]
print (' '.join(kaprekars))
string_num = str(num**2)
left_string = string_num[:len(string_num)//2]
right_string = string_num[len(string_num)//2:]
left_num = int(left_string) if left_string != '' else 0
right_num = int(right_string) if right_string != '' else 0
if num == left_num + right_num:
return True
kaprekars = [ str(i) for i in range(int(input()),int(input())) if checkIsKaprekar(i) == True ]
print (' '.join(kaprekars))
< /code>
Aber ich mag diesen Code nicht, obwohl er den Zweck löst. Wie kann ich meinen ursprünglichen Code optimieren, um die richtige Ausgabe zu erzeugen?>