PHP :: Aufgabe #67
4 Lösungen
Alle Harshad-Zahlen von 1 bis 100 berechnen
Anfänger - PHP
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.
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.
Lösungen:
PHP-Code
<?php for($i = 1; $i <= 100; $i++) { $summe = 0; $zahl = $i; $harshad = 0; while($zahl != 0) { $summe = $summe + ($zahl % 10); $zahl = $zahl / 10; } if (($i % $summe) == 0) { $harshad = $i / $summe; echo "Zahl:$i Quersumme:$summe Ergebnis Harshad:$harshad<br>"; } } ?>
PHP-Code
<? for($zahl=1;$zahl<101;$zahl++) { $zahl_addiert = 0; $zahl_geteilt = str_split($zahl); for($a=0;$a<count($zahl_geteilt);$a++) { $zahl_addiert += $zahl_geteilt[$a]; } if($zahl % $zahl_addiert == 0) echo $zahl." ist eine Harshadzahl<br>"; } ?>
PHP-Code
<?php $anzahlSchritte = 1000; $gefundeneHarshads = 0; for ($summe=1; $summe <= $anzahlSchritte; $summe++) { $split = str_split($summe); $quersumme = array_sum($split); $teilbar = ($summe % $quersumme == 0) ? true : false; if($teilbar) { echo '<span style="color:green;">Die Zahl '.$summe.' ist restlos durch deren Quersumme ('.$quersumme.') teilbar und ist damit eine Harshad-Zahl.</span><br />'; $gefundeneHarshads++; } else { echo '<span style="color:red;">Die Zahl '.$summe.' ist <u>nicht</u> restlos durch deren Quersumme ('.$quersumme.') teilbar und ist damit keine Harshad-Zahl.</span><br />'; } } echo '<hr />'; echo '<p style="font-size:2em;">Von den Zahlen 1 - '.$anzahlSchritte.' gibt es '.$gefundeneHarshads.' sogenannte "Harshad-Zahlen".</p>'; ?>
PHP-Code
<?php for($i = 1; $i <= 100; $i++) { $temp = $i; $quersumme = 0; while($temp != 0) { $quersumme += $temp % 10; $temp = $temp / 10; } if($i % $quersumme == 0) { echo '<br/>'.$i; } } ?>