13-11-2007, 10:23 PM
Epá, eu posso estar a errar mas não tenho maneira de comprovar o que estou a dizer por isso, aqui vai disto.
Estes dois bocados de codigo que tens são um pouco estranhos, a meu ver. parece que estás a complicar o não tanto complicado.
for (i=2 ; i<=n ; i++) { (isto é um ciclo for, como deves saber. que, pelo que dizes aqui começa em 2 e vai até quando i for <= a n... a minha pergunta é, queres mesmo que comece em 2? não será melhor for (i=0, i<n, i++)?)
if ((n%i)==0) (isto compara na 1ª volta do ciclo o teu n com 2... até aqui tudo bem.. se der resto 0 a dividir por 2 já não é primo, logo não precisas de na 2ª volta dividir por 3... não tem mta logica, acho.
Mas pronto, eu tb tou um pouco ferrugento nisto e não tenho muito tempo.
Experimenta:
p=1;
While (p<n){
p=p+1;
if ((p%2)!=0)
print( "%d \n",p);
}
Estes dois bocados de codigo que tens são um pouco estranhos, a meu ver. parece que estás a complicar o não tanto complicado.
for (i=2 ; i<=n ; i++) { (isto é um ciclo for, como deves saber. que, pelo que dizes aqui começa em 2 e vai até quando i for <= a n... a minha pergunta é, queres mesmo que comece em 2? não será melhor for (i=0, i<n, i++)?)
if ((n%i)==0) (isto compara na 1ª volta do ciclo o teu n com 2... até aqui tudo bem.. se der resto 0 a dividir por 2 já não é primo, logo não precisas de na 2ª volta dividir por 3... não tem mta logica, acho.
Mas pronto, eu tb tou um pouco ferrugento nisto e não tenho muito tempo.
Experimenta:
p=1;
While (p<n){
p=p+1;
if ((p%2)!=0)
print( "%d \n",p);
}
![[Image: bottompp9.jpg]](http://img137.imageshack.us/img137/628/bottompp9.jpg)
