Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

saidmrn

Dúvida SPOJ

Recommended Posts

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;
}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.