Exercício 1
Fazer um código em php, que calcule números primos.
Números primos 1.
< php
for ($n = 2; $n <= 100; $n++) {
$primo = true;
for ($x = 2; $x < $n; $x++) {
if ($n % $x == 0) {
$primo = false;
break;
}
}
if ($primo) {
echo ' ' . $n;
}
}
?>
Bem ai está o código, espero que este seja suficiente.
sexta-feira, 9 de abril de 2010
Assinar:
Postar comentários (Atom)
Bom dia! Gostaria de entender melhor. Porque meu professor quer que eu apenas APRESENTE os números primos. Então, eu simplesmente excluo o 2º "FOR" e no echo escrevo: ECHO $n ?? É isso?
ResponderExcluir#Desculpe minha ignorância rs... Sou novata ainda rs..
Não Rá, se você excluir o segundo for vai imprimir os números de 2 a 100. O pulo do gato está no segundo for onde o operador MODULO (%) verifica se o modulo daquele valor é igual a 0, se é igual a 0 a var primo recebe FALSE e então na condição IF($primo) testa se ela é TRUE se não for não imprimi e volta no primeiro for, agora se ela passa pelo IF do modulo ela é exibida pois no primeiro for ela recebe TRUE; Pode parecer meio complexo, mas se entender a essência você decifra isso na primeira leitura do código.
ResponderExcluirRá veja este método que acabei de escrever baseando-se no método do Jurandi, este imprimi o próximo primo no intervalo de um valor fornecido pelo usuário e 1 milhão..:
ResponderExcluirfunction nextCousin($value) {
$number = $value + 1;
for($i = $number; $i <= 100000000; $i++){
$cousin = true;
for($j = 2; $j < $i; $j++){
if($i % $j == 0){
$cousin = false;
break;
}
}
if($cousin)
return $i;
}
}
//Entre com um valor de 0 a 1 milhão.
echo nextCousin(454564);
Este comentário foi removido pelo autor.
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluirHum, descobri um erro no meu código. Segue corrigido:
ResponderExcluir#Lista primos de 3 a 1000
for ($n = 3; $n <= 30; ($n = $n + 2)) {
$rut = sqrt($n);
$primo = true;
for ($x = 3; $x <= $rut; ($x = $x + 2)) {
if ($n % $x == 0) {
echo " rut " . $rut . " x " . $x . " n " . $n;
$primo = false;
break;
}
}
if ($primo) {
echo ' ' . $n;
}
}
Agora, o código corrigido do nextCousin:
ResponderExcluirfunction nextCousin($value)
{
$number = $value;
if($number % 2 == 0)
$number = $number + 1;
for($i = $number; $i <= 100000000; ($i = $i + 2)){
$rut = sqrt($i);
$cousin = true;
for($j = 3; $j <= $rut; ($j = $j + 2)){
if($i % $j == 0){
$cousin = false;
break;
}
}
if($cousin)
return $i;
}
}
basta colocar assim (obs usei for html com post):
ResponderExcluir$num=$_POST['num'];
$n = $num;
for ($m=2; $m <= $n; $m++)
{
$primo = true;
for ($x = 2; $x < $n; $x++)
{
if ($num % $x == 0)
{
$primo = false;
break;
}
}
}
if ($primo)
{
echo "$num é primo";
}
else
{
echo "$num não é primo!!!";
}
eu to querendo fazer uma doideira tenho um pc que ta parado aqui em casa e gostaria de colocar ele pra trabalhar um pouco gostaria de criar um algoritmo pra calcular os numeros primos e ir armazenando num arquivo de texto ate ele ocupar o espaço do hd
ResponderExcluireu to querendo fazer uma doideira tenho um pc que ta parado aqui em casa e gostaria de colocar ele pra trabalhar um pouco gostaria de criar um algoritmo pra calcular os numeros primos e ir armazenando num arquivo de texto ate ele ocupar o espaço do hd
ResponderExcluirOlá, tenho aqui um código que me mostra se um numero é primo, ou não. No entanto, ele assume que o número 1 é primo :(
ResponderExcluirComo posso corrigir este código?
function primo($num)
{
$cont=0;
// Funcion que recorre todos los numero desde el 2 hasta el valor recibido
for($i=2;$i<=$num;$i++)
{
if($num%$i==0)
{
# Si se puede dividir por algun numero mas de una vez, no es primo
if(++$cont>1)
return false;
}
}
return true;
}
Já fiz uma correcção, acrescentei
Excluirif ($num==1){
return false;
}
quero saber como eu faco o seguinte programa
ResponderExcluirfaca um php para informar os numeros primos ate o numero fornecido pelo usuario