Python :: Aufgabe #67 :: Lösung #2

9 Lösungen Lösungen öffentlich
#67

Alle Harshad-Zahlen von 1 bis 100 berechnen

Anfänger - Python von Gustl - 13.02.2015 um 12:35 Uhr
Eine natürliche Zahl heißt Harshad-Zahl, wenn Sie durch ihre Quersummer teilbar ist.

Beispiel: 777 ist durch 7 + 7 + 7 = 21 teilbar und ist damit eine Harshad-Zahl.

Schreibe ein Programm welches alle Harshad-Zahlen von 1 bis 100 berechnet und am Bildschirm ausgibt.
#2
vote_ok
von _Mala_Fide_ (820 Punkte) - 24.04.2015 um 11:29 Uhr
Quellcode ausblenden Python-Code
#!/usr/bin/python

for zahl in range(1, 100+1):
	length_zahl = len(str(zahl))
	index_zahl = 0
	quersumme = 0
	while index_zahl < length_zahl:
		quersumme += int(str(zahl)[index_zahl])
		index_zahl += 1
	if int(zahl) % quersumme == 0:
		print "Die Zahl", zahl, "ist eine Harshad-Zahl."

Eine Version von 1-100.

Quellcode ausblenden Python-Code
#!/usr/bin/python

eingabe_start = input("Gib an ab welcher Zahl ueberprueft werden soll:\t\t")
eingabe_ende = str(input("Gib an bis zu welcher Zahl ueberprueft werden soll:\t"))

for zahl in range(eingabe_start, int(eingabe_ende)+1):
	length_zahl = len(str(zahl))
	index_zahl = 0
	quersumme = 0
	while index_zahl < length_zahl:
		quersumme += int(str(zahl)[index_zahl])
		index_zahl += 1
	if int(zahl) % quersumme == 0:
		print "Die Zahl", zahl, "ist eine Harshad-Zahl."

Eine Version bei der, der Startwert und der Endwert selber festgelegt werden kann.

Quellcode ausblenden Python-Code
#!/usr/bin/python

eingabe = str(input("Gib die zu ueberpruefende Zahl ein:\t"))

length_zahl = len(eingabe)
index_zahl = 0
quersumme = 0

while index_zahl < length_zahl:
	quersumme += int(eingabe[index_zahl])
	index_zahl += 1

if int(eingabe) % quersumme == 0:
	print "Die Zahl", eingabe, "ist eine Harshad-Zahl."
else:
	print "Die Zahl", eingabe, "ist keine Harshad-Zahl."

Eine Version die eine beliebige Zahl überprüft.

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben