Heim  >  Artikel  >  Backend-Entwicklung  >  PHP Loop Learning 9: Ermitteln Sie den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen

PHP Loop Learning 9: Ermitteln Sie den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen

青灯夜游
青灯夜游Original
2021-08-13 16:58:553717Durchsuche

Im vorherigen Artikel „PHP-Array-Lernen: Alle gemeinsamen Faktoren und den größten gemeinsamen Teiler zwischen zwei gegebenen Zahlen zurückgeben“ haben wir eine Methode vorgestellt, um alle gemeinsamen Faktoren zweier Ganzzahlen zu ermitteln und die Methode mit dem größten gemeinsamen Teiler zu finden. Dieses Mal stellen wir Ihnen eine Methode zum Ermitteln des größten gemeinsamen Teilers vor. ~

Im vorherigen Artikel haben wir alle Faktoren zweier Ganzzahlen in zwei Arrays eingefügt und dann die Funktion array_intersect() verwendet um den Schnittpunkt der beiden Arrays zu finden, und Sie erhalten ein Array, das alle gemeinsamen Faktoren enthält. Verwenden Sie dann die Funktion max(), um die maximale Zahl im Schnittpunkt-Array zu berechnen, und Sie erhalten den größten gemeinsamen Faktor.

Ist das nicht ein bisschen mühsam? Wir müssen alle Faktoren einzeln herausfinden, dann alle gemeinsamen Faktoren berechnen und schließlich den größten gemeinsamen Teiler finden. Hier ist eine einfache und allgemeine Methode (kann in anderen Sprachen verwendet werden).

Dieses Mal verwenden wir keine in PHP integrierten Funktionen, sondern verwenden if-Beurteilungsanweisungen und while-Schleifenanweisungen, um den größten gemeinsamen Teiler zwischen zwei gegebenen ganzen Zahlen zu finden.

Implementierungsschritte: Es gibt zwei Variablen a, b

  • Schritt eins: Stellen Sie sicher, dass große Zahlen in a und kleine Zahlen in b platziert werden.

    Dies erfordert die Verwendung von if-Anweisungen, um zu beurteilen, ob a a/b Der Rest, der Wert wird r zugewiesen

if ($a < $b) { //a < b,则交换两个数
	$temp = $a;
	$a = $b;
	$b = $temp;
}
  • Schritt 3: Bestimmen Sie, ob der Rest r 0 ist. a/b 的余数,值赋给 r

$r = $a % $b;
  • 第三步:判断 余数r 是否为0。

    如果 r=0,则上面的b就是最大公约数;如果 r!=0

    Wenn r=0, dann ist b oben der größte gemeinsame Teiler; wenn r!=0, müssen Sie a den Wert von b und den Wert von zuweisen r Wenn b gegeben ist, ermitteln Sie weiterhin den Rest von a/b und bestimmen Sie, ob der Rest r 0 ist. Dies erfordert die Verwendung einer Schleife (hier wird eine while-Schleife verwendet):
    while ($r != 0) {
    		$a = $b;
    		$b = $r;
    		$r = $a % $b;
    	}
  • Schritt 4: Den größten gemeinsamen Faktor b ausgeben.

Werfen wir einen Blick auf den Implementierungscode:

<?php
header("Content-type:text/html;charset=utf-8");
function gcd($a, $b) {
	$a1 = $a;
	$b1 = $b;
	if ($a < $b)//a < b,则交换两个数
	{
		$temp = $a;
		$a = $b;
		$b = $temp;
	}

	$r = $a % $b;
	while ($r != 0) {
		$a = $b;
		$b = $r;
		$r = $a % $b;
	}
	echo "数$a1 和$b1 的最大公因数为: $b  <br><br>";
}

gcd(30, 40);
gcd(12, 16);
gcd(15, 12);
?>

Ausgabeergebnis:

PHP Loop Learning 9: Ermitteln Sie den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen

Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →php-Video-Tutorial

Empfehlung:"Sammlung von PHP-Interviewfragen (Sammlung)

"🎜

Das obige ist der detaillierte Inhalt vonPHP Loop Learning 9: Ermitteln Sie den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn