Ví dụ
<?php
function factorial_num($x_val) {
$i = 1;
$fact_num = 1;
for ($i = 1; $i <= $x_val; $i++) {
$fact_num = $fact_num * $i;
if ($fact_num % $x_val == 0)
break;
}
return $i;
}
$x_val = 16;
print_r("The first natural number whose factorial can be divided by 16 is ");
echo factorial_num($x_val);
?>
Kết quả
The first natural number whose factorial can be divided by 16 is 6
Giải thích
Hàm factorial_num tính giai thừa dần dần và kiểm tra chia hết cho $x_val. Nếu chia hết, break và trả về i hiện tại. Với x=16: 1!=1, 2!=2, 3!=6, 4!=24, 5!=120, 6!=720. 720 chia hết 16 (720/16=45). Vậy i=6.
Sửa lỗi: Code gốc khởi tạo $fact_num = 4 và vòng lặp $i < $x_val sai logic. Đã sửa: khởi tạo fact_num=1, lặp ≤ x_val. Kết quả gốc ghi 4 là sai (4!=24 không chia hết 16).