PHP :: Aufgabe #67

3 Lösungen Lösungen öffentlich

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.

Lösungen:

vote_ok
von Energy (800 Punkte) - 09.03.2016 um 09:38 Uhr
Quellcode ausblenden 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>";
		}
	}
?>
vote_ok
von reso (270 Punkte) - 12.12.2017 um 08:05 Uhr
Quellcode ausblenden 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>";
   }
?>
vote_ok
von Exception (2590 Punkte) - 24.06.2018 um 16:06 Uhr
Quellcode ausblenden 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>';

?>