php语言给定一个正整数n,输出它所有质因子
时间: 2024-04-08 20:32:53 浏览: 51
以下是使用 PHP 编程语言编写的一个函数,用于输出给定正整数 n 的所有质因子:
```php
<?php
function getPrimeFactors($n) {
$factors = array();
// 将 n 除以 2 直到 n 变为奇数
while ($n % 2 == 0) {
$factors[] = 2;
$n = $n / 2;
}
// 现在 n 是一个奇数,可以只考虑奇数作为质因子
for ($i = 3; $i <= sqrt($n); $i = $i + 2) {
while ($n % $i == 0) {
$factors[] = $i;
$n = $n / $i;
}
}
// 如果 n 大于 2,则 n 本身是一个质因子
if ($n > 2) {
$factors[] = $n;
}
return $factors;
}
// 示例用法
$n = 36;
$primeFactors = getPrimeFactors($n);
echo "质因子:";
foreach ($primeFactors as $factor) {
echo $factor . " ";
}
```
以上代码会输出给定正整数 n 的所有质因子。你可以将 `$n` 的值更改为你想要的任何正整数进行测试。例如,如果 `$n = 36`,则输出结果将是 `质因子:2 2 3 3`,表示 36 的质因子是 2、2、3 和 3。