Rumah > pembangunan bahagian belakang > tutorial php > Program PHP untuk mengira bilangan sifar mengekor dalam pemfaktoran nombor

Program PHP untuk mengira bilangan sifar mengekor dalam pemfaktoran nombor

WBOY
Lepaskan: 2023-08-26 17:18:01
ke hadapan
782 orang telah melayarinya

Program PHP untuk mengira bilangan sifar mengekor dalam pemfaktoran nombor

Apakah faktorial?

Faktorial integer bukan negatif, dilambangkan dengan simbol "!", ialah hasil darab semua integer positif kurang daripada atau sama dengan nombor itu, dengan kata lain, faktorial nombor diperoleh dengan mendarabkan nombor itu dengan semua integer positif di bawahnya.

Sebagai contoh, pemfaktoran 5 dikira sebagai:

5 = 5 x 4 x 3 x 2 x 1 = 120

Begitu juga, faktorial 0 ditakrifkan sebagai 1:

0!

Faktor sering digunakan dalam matematik dan kombinatorik untuk mengira pilih atur, gabungan dan susunan objek. Faktor ini juga mempunyai aplikasi dalam kebarangkalian, kalkulus dan pelbagai bidang matematik yang lain.

Program PHP untuk Mengira Sifar Mengekor dalam Faktorial Nombor

Dalam pemfaktoran nombor, sifar mengekor merujuk kepada bilangan sifar berturut-turut dalam perwakilan perpuluhan bagi pemfaktoran.

Contohnya 10 = 10 x 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1

Lakukan operasi darab

10 = 3,628,800

Faktorial bagi 10 ialah 3,628,800.

Sifar mengekor dalam pemfaktoran 10 ialah 2 kerana bilangan sifar berturut-turut pada penghujung pemfaktoran.

Contoh

<?php

function countTrailingZeroes($number) {
   $count = 0;

   // Divide the number by powers of 5 and count the quotient
   // The quotient represents the number of trailing zeroes
   while ($number >= 5) {
      $number = (int) ($number / 5);
      $count += $number;
   }

   return $count;
}

// Test the function
$number = 20;
$trailingZeroes = countTrailingZeroes($number);
echo "The factorial of $number has $trailingZeroes trailing zeroes.<br>";

// Test the function
$number = 14;
$trailingZeroes = countTrailingZeroes($number);
echo "The factorial of $number has $trailingZeroes trailing zeroes.";
?> 
Salin selepas log masuk

Output

The factorial of 20 has 4 trailing zeroes.
The factorial of 14 has 2 trailing zeroes.
Salin selepas log masuk

Penjelasan kod

Fungsi PHP yang dipanggil countTrailingZeroes dipanggil dalam kod sampel. Fungsi ini mengira bilangan sifar mengekor dalam pemfaktoran nombor tertentu. Ia melakukan ini dengan membahagikan nombor dengan kuasa 5 dan mengira hasil bagi. Selagi nombor lebih besar daripada atau sama dengan 5, gelung while akan terus dilaksanakan. Di dalam gelung, nombor dibahagikan dengan 5 menggunakan pembahagian integer untuk mengira bilangan faktor 5 dalam nombor semasa. Tambahkan hasil bahagi yang terhasil pada pembolehubah yang dipanggil $count, yang menjejaki bilangan sifar mengekori. Selepas gelung berakhir, kembalikan nilai kiraan akhir daripada fungsi.

Di bawah fungsi, terdapat kes ujian di mana fungsi dipanggil dengan nilai 123. Kes ujian ini mengira bilangan sifar mengekor dalam pemfaktoran 20 menggunakan fungsi countTrailingZeroes. Hasilnya disimpan dalam pembolehubah yang dipanggil $trailingZeroes. Akhir sekali, gunakan gema untuk memaparkan hasil, memberikan nombor input dan bilangan sifar mengekor dalam pemfaktorannya

Dalam kes ini, faktorial bagi 20 ialah 2,432,902,008,176,640,000, jadi faktorialnya mempunyai 4 sifar pada akhirnya, manakala faktorial bagi 14 ialah 87,178,291,200. Jadi ia mempunyai 2 sifar pada penghujung faktorialnya.

Kesimpulan

Menyediakan program PHP untuk mengira bilangan sifar tertinggal dalam pemfaktoran nombor tertentu dengan cekap. Ia menggunakan gelung sementara untuk membahagikan nombor dengan kuasa 5 dan mengira hasil bagi, mewakili bilangan sifar mengekor. Dengan menggunakan pendekatan ini, program ini mengelakkan keperluan untuk mengira keseluruhan faktorial. Teknik ini berfungsi kerana sifar mengekor dalam faktorial berasal dari faktor 5. Oleh itu, dengan mengira faktor 5, program boleh menentukan bilangan sifar mengekor dengan tepat. Kod ini menyediakan penyelesaian yang mudah dan cekap untuk mengira sifar tertinggal dalam pemfaktoran, berguna untuk pelbagai aplikasi matematik dan pengaturcaraan.

Atas ialah kandungan terperinci Program PHP untuk mengira bilangan sifar mengekor dalam pemfaktoran nombor. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
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