Я пытался заставить программу выполнять синтетическое деление, которое требует факторинга, поэтому я написал эту функцию для вычисления целого числа, которое работает, но оно никогда не изменяет значения массива php $ факторы. Любая помощь будет оценена.
$factors=array();
$i;
function factor($x){
if($x==0){
echo "(0,0)";
} else {
$n=false;
if($x<0) {
$x=abs($x);
$n=true;
}
for($i=2; $i<=$x; $i++) {
if($x%$i==0){
if($n){
$factors[(count($factors))]=(-1*($x/$i));
$factors[(count($factors))]=($i);
$factors[(count($factors))]=($x/$i);
$factors[(count($factors))]=(-1*$i);
} else {
$factors[(count($factors))]=($x/$i);
$factors[(count($factors))]=($i);
}
}
}
}
}
factor(-4);
Попробуй это
function factor($x){
$factors=array();
if($x==0){
echo "(0,0)";
} else {
$n=false;
if($x<0) {
$x=abs($x);
$n=true;
}
for($i=2; $i<=$x; $i++) {
if($x%$i==0){
if($n){
$factors[(count($factors))]=(-1*($x/$i));
$factors[(count($factors))]=($i);
$factors[(count($factors))]=($x/$i);
$factors[(count($factors))]=(-1*$i);
} else {
$factors[(count($factors))]=($x/$i);
$factors[(count($factors))]=($i);
}
}
} //end for
echo '(' . implode(',', $factors). ')';
} //end if $x == 0
}
factor(-4);
$factors
находится вне области действия функции, кроме того, что вы ничего не возвращали и не выводили. Видя, как вы эхо (0,0)
Я предположил, что вы хотели это повторить, такие как (2,4,8)
и т.д. Что вы можете сделать с взрыва ..
Других решений пока нет …