Python :: Aufgabe #146

1 Lösung Lösung öffentlich

Kaprekar-Konstanten für Hexadezimalzahlen

Fortgeschrittener - Python von hollst - 27.02.2017 um 19:32 Uhr
Man finde für Zahlen in Hexadezimaldarstellung (Basis 16) alle Kaprekar-Konstanten (sofern vorhanden)
für 3, 4 ... 8stellige Zahlen entsprechend dem Algorithmus aus Aufgabe #165. Die Methode ist
so zu formulieren, dass sie leicht für alle Zahlenbasen von 2 bis 256 verwendbar ist.

Lösungen:

vote_ok
von irene_py (80 Punkte) - 03.08.2017 um 16:03 Uhr
Quellcode ausblenden Python-Code
def kapkerKonstant():

	number = input("enter ")
	count =0
	identical = False
	
	for el in range(len(number)-1):              
		if number[el] == number[el+1]:
			count +=1
	if len(number)-1 == count:
		identical = True
			
	if len(number ) == 2 or len(number ) == 5 or len(number) == 7 or identical == True:
		print ("falls number")
		
	else:	
		first_number  = sorted(number)
		second_number = sorted(number, reverse = True)
	
		#first_number_int = int("".join(map(str, first_number)))
		#second_number_int = int ("".join(map(str, second_number)))
	
		first_number_int = int("".join(first_number))
		second_number_int = int("".join(second_number))
	
		konst = second_number_int - first_number_int 
		print (konst)
	
print (kapkerKonstant())