Program PHP untuk Mengira Sifar Mengekor dalam Faktorial Nombor

王林
Lepaskan: 2024-08-28 13:38:00
asal
353 orang telah melayarinya

PHP Program to Count Trailing Zeroes in Factorial of a Number

Apakah Faktorial Nombor?

Faktorial integer bukan negatif, yang dilambangkan dengan simbol "!", ialah hasil darab semua integer positif kurang daripada atau sama dengan nombor itu. Dalam erti 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! = 1

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

Program PHP untuk Mengira Sifar Mengekori dalam Faktorial Nombor

Dalam pemfaktoran nombor, sifar mengekor merujuk kepada bilangan sifar berturut-turut pada penghujung perwakilan perpuluhan faktorial.

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

Melakukan pendaraban

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

Dalam kod contoh, fungsi PHP dipanggil countTrailingZeroes. Fungsi ini mengira bilangan sifar mengekor dalam pemfaktoran nombor tertentu. Ia melakukan ini dengan membahagikan nombor dengan kuasa 5 dan mengira hasil bagi. Gelung while berterusan selagi nombor lebih besar daripada atau sama dengan 5. Dalam gelung, nombor dibahagikan dengan 5 menggunakan pembahagian integer untuk mengira bilangan faktor 5 dalam nombor semasa. Hasil bahagi yang terhasil ditambah pada pembolehubah yang dipanggil $count, yang menjejaki kiraan sifar mengekori. Selepas gelung selesai, kiraan akhir dikembalikan daripada fungsi.

Di bawah fungsi, terdapat kes ujian di mana fungsi dipanggil dengan nilai 123. Ini mengira bilangan sifar tertinggal dalam pemfaktoran 20 menggunakan fungsi countTrailingZeroes. Hasilnya disimpan dalam pembolehubah yang dipanggil $trailingZeroes. Akhir sekali, hasilnya dipaparkan menggunakan gema, memberikan nombor input dan kiraan sifar tertinggal dalam faktorialnya.

Dalam kes ini, pemfaktoran 20 ialah 2,432,902,008,176,640,000 jadi kiraan sifar mengekor dalam pemfaktorannya ialah 4 dan pemfaktoran bagi 14 ialah 87,178,291,200. Jadi kiraan sifar mengekor dalam faktorialnya ialah 2.

Kesimpulan

Program PHP yang disediakan dengan cekap mengira kiraan sifar tertinggal dalam pemfaktoran nombor tertentu. Ia menggunakan gelung sementara untuk membahagikan nombor dengan kuasa 5 dan mengira hasil bagi, mewakili bilangan sifar mengekor. Dengan memanfaatkan pendekatan ini, program ini mengelakkan keperluan untuk mengira keseluruhan faktorial. Teknik ini berkesan kerana mengekor sifar dalam hasil faktorial daripada faktor 5. Oleh itu, dengan mengira faktor 5, atur cara menentukan kiraan sifar mengekor dengan tepat. Kod ini menyediakan penyelesaian yang mudah dan cekap untuk mengira sifar tertinggal dalam pemfaktoran, membantu dalam pelbagai aplikasi matematik dan pengaturcaraan.

Atas ialah kandungan terperinci Program PHP untuk Mengira Sifar Mengekor dalam Faktorial Nombor. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
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