Pembelajaran Gelung PHP 9: Dapatkan faktor sepunya terbesar antara dua nombor yang diberi

青灯夜游
Lepaskan: 2023-04-10 15:12:01
asal
3721 orang telah melayarinya

Dalam artikel sebelumnya "Pembelajaran Tatasusunan PHP: Mengembalikan Semua Faktor Sepunya dan Faktor Sepunya Terbesar antara Dua Nombor Diberi", kami memperkenalkan cara untuk mendapatkan semua faktor sepunya dua integer, kaedah mencari pembahagi sepunya terbesar. Kali ini kami akan memperkenalkan kepada anda kaedah mencari pembahagi sepunya yang paling hebat Rakan-rakan yang berminat boleh mempelajarinya~

Dalam artikel sebelumnya, kami meletakkan semua faktor dua integer dalam Dalam dua tatasusunan, dan kemudian gunakan fungsi array_intersect() untuk mencari persilangan dua tatasusunan, anda boleh mendapatkan tatasusunan yang mengandungi semua faktor sepunya, kemudian gunakan fungsi max() untuk mengira nombor maksimum dalam tatasusunan persilangan, dan anda akan mendapat sepunya yang paling besar; faktor.

Bukankah ia agak menyusahkan? Berikut ialah kaedah yang mudah dan umum (boleh digunakan dalam bahasa lain).

Kali ini kami tidak menggunakan fungsi terbina dalam PHP, tetapi gunakan pernyataan if judgement dan pernyataan gelung while untuk mencari pembahagi sepunya terbesar antara dua integer yang diberikan.

Langkah pelaksanaan: Terdapat dua pembolehubah a, b

  • Langkah pertama: Pastikan nombor besar diletakkan dalam a dan perpuluhan diletakkan dalam b.

    Ini memerlukan penggunaan pernyataan if untuk menentukan Jika a < b, tentukan suhu pembolehubah perantaraan untuk merealisasikan pertukaran nilai a dan b

if ($a < $b) { //a < b,则交换两个数
	$temp = $a;
	$a = $b;
	$b = $temp;
}
Salin selepas log masuk
  • Langkah 2: Cari baki

    dan tetapkan nilai kepada ra/b

$r = $a % $b;
Salin selepas log masuk
  • Langkah 3: Tentukan sama ada baki r ialah 0.

    Jika

    , maka b di atas ialah pembahagi sepunya terbesar jika r=0, anda perlu menetapkan nilai b kepada a, nilai r kepada b, dan terus mencari baki daripada a/b, Tentukan sama ada baki r ialah 0. Ini memerlukan penggunaan gelung (gelung sementara digunakan di sini): r!=0

while ($r != 0) {
		$a = $b;
		$b = $r;
		$r = $a % $b;
	}
Salin selepas log masuk
  • Langkah keempat: keluarkan faktor sepunya terbesar b.

Lihat kod pelaksanaan di bawah:

<?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);
?>
Salin selepas log masuk
Hasil keluaran:


Pembelajaran Gelung PHP 9: Dapatkan faktor sepunya terbesar antara dua nombor yang diberi

Okay Itu sahaja jika anda ingin tahu apa-apa lagi, anda boleh klik di sini. → →

tutorial video php

Disyorkan: Koleksi soalan temuduga PHP (koleksi)

Atas ialah kandungan terperinci Pembelajaran Gelung PHP 9: Dapatkan faktor sepunya terbesar antara dua nombor yang diberi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan