所以我目前正在尝试编写一个程序,该程序可以找到任何数字的素因数分解。 我已经成功地做到了这一点,我只是被正确地表示了。 例如,82944 的素数分解是 (2^10)*(3^4)。
我的程序成功地找到了质因数分解...只是以一种凌乱的方式。 我接近用以下内容来正确表示它:
$unique_factors = array_unique($f);
foreach($unique_factors as $factors){
foreach(array_count_values($f) as $count){
echo $factors . "<sup>" . $count . "</sup>";
}
}
但是,这将输出 (2^10)(2^4)(3^10)(3^4)
(数组$f是包含 2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3 的数组)
你不需要外部循环 - array_count_values
返回(从手册页)"一个数组,使用数组的值作为键,它们在数组中的频率作为值。
所以你只需要这样做:
foreach(array_count_values($f) as $key=>$count){
echo "$key<sup>$count</sup>";
}