Dúvida SPOJ
Olá pessoal,tudo bem ?
Se puderem me tirar uma dúvida,comecei a treinar lá no SPOJ porém ele não aceita o meu código,o que pode estar errado ? as mesmas entradas do exempo estão gerando a mesma saída.
<?PHP
$input = trim(fgets(STDIN));
$numeros = array();
for ($i = 1; $i < $input; $i++) {
if ($input % $i == 0) {
array_push($numeros, $i);
}
}
$resultado = 0;
for ($i = 0; $i < count($numeros); $i++) {
$resultado += $numeros[$i];
}
echo $resultado;
?>
O problema é este aqui:
http://www.spoj.com/problems/DIVSUM/
Obrigado !
@edit
Entendi o problema errado,então corrigi o código;
Porém tá dando time limit exceeded,o que posso fazer para diminuir o tempo ?
<?PHP
$ntestes = trim(fgets(STDIN));
for($a = 0; $a < $ntestes; $a++) {
$input = trim(fgets(STDIN));
if ($input >= 1 && $input <= 500000) {
$numeros = array();
for ($i = 1; $i < $input; $i++) {
if ($input % $i == 0) {
array_push($numeros, $i);
}
}
$resultado = 0;
for ($i = 0; $i < count($numeros); $i++) {
$resultado += $numeros[$i];
}
echo $resultado;
}
}
?>Discussão (0)
Carregando comentários...