Das PHP-Array-Lernen gibt alle gemeinsamen Faktoren und den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen zurück

青灯夜游
Freigeben: 2023-04-10 15:10:01
Original
3698 Leute haben es durchsucht

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 in

PHP 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;
    }
}
Nach dem Login kopieren

Dieses Array ausgeben $arr1

var_dump($arr1);
Nach dem Login kopieren
$arr1

$result=array_intersect($arr1,$arr2);
var_dump($result);
Nach dem Login kopieren

看看结果:

Das PHP-Array-Lernen gibt alle gemeinsamen Faktoren und den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen zurück

可以看出数30的因数有:1、2、3、5、6、10、15。

利用上述的方法我们再获取数40的所有因数,将它们存到一个数组$arr2中:

Das PHP-Array-Lernen gibt alle gemeinsamen Faktoren und den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen zurück

可以看出数40的因数有:1、2、4、5、8、10、20。

2、两个整数的所有因数都获取了,就可以使用array_intersect()函数来求它们间的所有公因数了。(array_intersect()函数可以计算两个数组的交集,不懂可以阅读《PHP数组学习之如何比较两个数组求交集》)。

$max=max($result);
echo "最大公因数为: $max";
Nach dem Login kopieren

输出结果为:

Das PHP-Array-Lernen gibt alle gemeinsamen Faktoren und den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen zurück

这样就可以得出数30和40的所有公因数:1、2、5、10。

3、30和40的所有公因数都在交集数组$result中,我们就可以使用max()Sehen Sie sich das Ergebnis an:

Das PHP-Array-Lernen gibt alle gemeinsamen Faktoren und den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen zurück

Das PHP-Array-Lernen gibt alle gemeinsamen Faktoren und den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen zurückEs 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:

Das PHP-Array-Lernen gibt alle gemeinsamen Faktoren und den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen zurück

Man erkennt, dass die Faktoren der Zahl 40 sind: 1, 2, 4, 5, 8, 10, 20 .

Das PHP-Array-Lernen gibt alle gemeinsamen Faktoren und den größten gemeinsamen Faktor zwischen zwei gegebenen Zahlen zurück2. 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);
?>
Nach dem Login kopieren
Das Ausgabeergebnis ist:

3 .png

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!