Heim > Artikel > Backend-Entwicklung > Das PHP-Array-Lernen gibt alle gemeinsamen Faktoren und den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen zurück
Im vorherigen Artikel „PHP-Array-Lernen: Ändern der Groß- oder Kleinschreibung von Schlüsseln/Werten“ haben wir die Methode zum Ändern der Groß- und Kleinschreibung von Array-Schlüsselnamen oder Schlüsselwerten in assoziativen PHP-Arrays vorgestellt. Dieses Mal schauen wir uns an, wie man alle gemeinsamen Faktoren zweier Ganzzahlen ermittelt und die größte (ungefähre) Zahl des gemeinsamen Faktors ermittelt. ~
Lassen Sie uns zunächst verstehen, was der gemeinsame Faktor (ungefähr) ist. Zahl? Und die größte gemeinsame Faktorzahl (ungefähre Zahl)?
Die Faktor-(Näherungs-)Zahl bezieht sich auf die Zahl, die eine ganze Zahl teilen kann. Die gemeinsame Faktor-(Näherungs-)Zahl ist die Zahl, die mehrere ganze Zahlen gleichzeitig teilen kann. Es kann mehrere gemeinsame Teiler geben, die mehrere ganze Zahlen gleichzeitig dividieren können, und der größte ist der größte gemeinsame Teiler.
Zum Beispiel: Die Zahlen 30 und 40 haben einen gemeinsamen Faktor von 1, 2, 5 und 10 ist der größte; der größte gemeinsame Faktor der Zahlen 30 und 40 ist also 10.Wie verwenden wir also PHP, um die gemeinsamen Faktoren und den größten gemeinsamen Faktor zwischen zwei ganzen Zahlen a und b zu ermitteln?
Ideen: 1. Ermitteln Sie die Faktoren zwischen zwei ganzen Zahlen a und b (dies wird ausführlich inPHP Loop Learning 8 beschrieben) und speichern Sie diese Faktoren dann jeweils in einem Array. Nehmen Sie hier als Beispiel die Zahl 30 und verwenden Sie eine for-Schleife, um alle Faktoren zu finden:
for($i=1;$i<30;$i++){ if($a%$i==0){//分解因数 $arr1[]=$i; } }Dieses Array ausgeben
$arr1
var_dump($arr1);
$arr1
$result=array_intersect($arr1,$arr2); var_dump($result);
看看结果:
可以看出数30的因数有:1、2、3、5、6、10、15。
利用上述的方法我们再获取数40的所有因数,将它们存到一个数组$arr2中:
可以看出数40的因数有:1、2、4、5、8、10、20。
2、两个整数的所有因数都获取了,就可以使用array_intersect()函数来求它们间的所有公因数了。(array_intersect()函数可以计算两个数组的交集,不懂可以阅读《PHP数组学习之如何比较两个数组求交集》)。
$max=max($result); echo "最大公因数为: $max";
输出结果为:
这样就可以得出数30和40的所有公因数:1、2、5、10。
3、30和40的所有公因数都在交集数组$result
中,我们就可以使用max()
Sehen Sie sich das Ergebnis an:
Es ist ersichtlich, dass die Faktoren von Die Zahl 30 ist: 1, 2, 3, 5,6,10,15.
Mit der oben genannten Methode erhalten wir alle Faktoren der Zahl 40 und speichern sie in einem Array $arr2:
2. Nachdem alle Faktoren der beiden Ganzzahlen ermittelt wurden, können Sie mit der Funktion array_intersect() alle gemeinsamen Faktoren zwischen ihnen ermitteln. (Die Funktion array_intersect() kann den Schnittpunkt zweier Arrays berechnen. Wenn Sie es nicht verstehen, können Sie „PHP Array Learning So vergleichen Sie zwei Arrays, um den Schnittpunkt zu finden
》).<?php header("Content-type:text/html;charset=utf-8"); function gcd($a,$b){ $arr1=array(); $arr2=array(); for($i=1;$i<$a;$i++){ if($a%$i==0){//分解因数 $arr1[]=$i; } } for($i=1;$i<$b;$i++){ if($b%$i==0){//分解因数 $arr2[]=$i; } } $result=array_intersect($arr1,$arr2); echo "数 $a 和 $b 的公因(约)数有:"; foreach($result as $value){ echo $value." , "; } $max=max($result); echo "<br>最大公因数为: $max <br><br>"; } gcd(30,40); gcd(12,16); ?>Das Ausgabeergebnis ist:
Auf diese Weise können wir alle gemeinsamen Faktoren der Zahlen 30 und 40 erhalten: 1, 2, 5, 10.
Alle gemeinsamen Faktoren von 3, 30 und 40 befinden sich im Schnittmengenarray$result
. Wir können die Funktion max()
verwenden, um die größte Zahl im Array zu erhalten , Das ist die größte Gemeinsamkeit. 🎜rrreee🎜Das Ausgabeergebnis ist: 🎜🎜🎜🎜🎜OK, fertig! Kapseln Sie den obigen Code in eine Funktion: 🎜rrreee🎜Ausgabeergebnis: 🎜🎜🎜🎜🎜🎜Das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜php-Video-Tutorial🎜🎜🎜Abschließend empfehle ich ein kostenloses Video-Tutorial zu PHP-Arrays: 🎜PHP-Funktions-Array-Array-Funktions-Video-Erklärung🎜, kommen Sie und lernen Sie! 🎜Das obige ist der detaillierte Inhalt vonDas PHP-Array-Lernen gibt alle gemeinsamen Faktoren und den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen zurück. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!