Pessoal, de que maneira eu poderia fazer um aplicativo que informa se o numero é primo ou não. o pior é que nem lembro o que diabos é um numero primo.
Abraços
MigMax
Pessoal, de que maneira eu poderia fazer um aplicativo que informa se o numero é primo ou não. o pior é que nem lembro o que diabos é um numero primo.
Abraços
MigMax
Numero primo eh o numero que soh tem divisão exata por ele mesmo e por um 1…por exemplo:
3…so pode ser dividio por 3…que da 1, resto 0…e por 1…que da 3, resto 0…7, 11, 13, 17
E a divisão por num primos eh a base da criptografia…
Entaum vejamos como vc pode calcular um numero primo…vc pode fazer um…num mod 1
num mod num e ver se o resto eh zero…mas naum para por ai…pq por exemplo 4 mod 1…0, 4 mod 2…0 tb…
Entaum vc deve fazer um for…e verificar se o resto soh eh zero quando eh divido por ele mesmo e por 1…caso seja entaum este eh um numero primo.
[]´s
uaeuha, cara, essa ai do numero primo foi exercicio de prova de uns 2 semestres seguidos aqui no meu curso… os professores tão cada vez menos criativos!!!
o numero primo é aquele q só é divisivel por 1 OU por ele mesmo (resultando inteiro) , ou seja… 7 seria um numero primo…, ai tem um código de exemplo q fiz ligerinho pra ti:
[code]import javax.swing.JOptionPane;
public class Primo {
public static void main( String[] args )
{
int numero = Integer.parseInt(
JOptionPane.showInputDialog( “Digite o numero” ) );
boolean primo = false;
for ( int i = 2; i < numero / 2; i++ )
if ( ( numero % i ) != 0 )
primo = false;
else
primo = true;
if ( primo )
JOptionPane.showMessageDialog( null, numero + "eh primo" );
else
JOptionPane.showMessageDialog( null, numero + " nao eh primo" );
System.exit( 0 );
}
}[/code]
…o esquema do for() é o seguinte, ele começa em 2 pq, … não tem cabimento fazer % com 1 nos numeros, pq todos são divisiveis por 1… e ele termina na metade do numero (numero / 2) pq o % de todos os numeros maiores q a metade desse numero ira retornar um resto, então… não se faz necessário calcular… vai ser só perda de tempo.
[]'s
Olha: em java eu não sei até por que nunca fiz… mas os demais participantes do PJ podem dizer se estou errado.
se vc disser que: Ex: se (variavel mod 2 ) == 0 então
resposta = “numero é para”
se não
resposta = “numero é impar”
fim se
Agora, fiquei na dúvida no post acima…
Alguém ai sabe responder…
é isso q da no forum do portal, é tão acessado e concorrido pra responderem as perguntas, q demorei pra escrever o post e veio a Diana e postou antes de mim… hehehah :bocao:
pô falha nossa… o Matheus matou a pau os Primos…
Gostei dessa aquele ex que mandei é só pra saber se o numero é par ou não…
Valeu … :oops: :oops: :oops:
Galera,
Tenho que confessar. eu fico impressionado como existe tanta gente legal nesse País a dentro… incrivel como consigo aprender um pouco com cada comentarios de cada um de voces… espero poder um dia aprender bastante pra poder fazer o mesmo por alguem que esteja iniciando como eu.
Muito obrigado mesmo amigos.
Abraços.
Miguel
Caro MigMax, essa é mais uma questão clássica de programação.
Acho que essas cartas que tenho debaixo da manga podem te ajudar
// MÉTODO RECEBE INTEIRO E INFORMA SE É PRIMO OU NÃO
public boolean primo( int n )
{
int cont = 0, y = 0, x = 1;
do
{
do
{
cont = 0;
x++;
y=0;
do
{
y++;
if ( x % y == 0 )
cont++;
} while( cont < 2 );
} while ( x != y );
} while ( x < n );
if ( x == n )
return true;
else
return false;
}
O método acima recebe o número para a verificação e retorna o resultado do tipo boolean true/false (verdadeiro/falso).
O método abaixo retorna um determinado número primo de acordo com sua posição na relação de números primos.
Ex: se enviar 3 como parametro ele me retorna 5 , pois 5 é o terceiro termo primo.
// METODO PARA ENCONTRAR O n-ESIMO
//NUMERO PRIMO
public int primo( int n )
{
int cont = 0, y = 0, x = 1, termo = 0;
do
{
termo++;
do
{
cont = 0;
x++;
y=0;
do
{
y++;
if ( x % y == 0 )
cont++;
} while( cont < 2 );
} while ( x != y );
} while ( termo != n );
return x;
}
Guarde bem essas cartas em sua manga pois podem ser uteis um dia!!!
Matheus,
o Andre tem razao, quando implemento seu codigo, por mais que eu coloque qualquer numero primo, ele só me retorna a mensagem dizendo que nao é. vc tinha visto isso?
Wanderson,
Sua dica é muito quente e boa… valeu mesmo irmao.
Miguel
[quote=“MigMax”]Galera,
Tenho que confessar. eu fico impressionado como existe tanta gente legal nesse País a dentro… incrivel como consigo aprender um pouco com cada comentarios de cada um de voces… espero poder um dia aprender bastante pra poder fazer o mesmo por alguem que esteja iniciando como eu.
Muito obrigado mesmo amigos.
Abraços.
Miguel[/quote]
:oops: não fala assim q nós ficamos emcabulados… eahhaehae, e com certeza vc vai achar muita coisa interessante aqui no forum, sempre visando a produtividade e evolução! … e tb além de aprender vai poder ajudar e muito outros futuros iniciantes aqui nesse mesmo forum!
…toda caminhada de mil léguas começa sempre com um primeiro passo.
:pepsi:
[quote=“matheus”]uaeuha, cara, essa ai do numero primo foi exercicio de prova de uns 2 semestres seguidos aqui no meu curso… os professores tão cada vez menos criativos!!!
o numero primo é aquele q só é divisivel por 1 OU por ele mesmo (resultando inteiro) , ou seja… 7 seria um numero primo…, ai tem um código de exemplo q fiz ligerinho pra ti:
[code]import javax.swing.JOptionPane;
public class Primo {
public static void main( String[] args )
{
int numero = Integer.parseInt(
JOptionPane.showInputDialog( “Digite o numero” ) );
boolean primo = false;
for ( int i = 2; i < numero / 2; i++ )
if ( ( numero % i ) != 0 )
primo = false;
else
primo = true;
if ( primo )
JOptionPane.showMessageDialog( null, numero + "eh primo" );
else
JOptionPane.showMessageDialog( null, numero + " nao eh primo" );
System.exit( 0 );
}
}[/code]
…o esquema do for() é o seguinte, ele começa em 2 pq, … não tem cabimento fazer % com 1 nos numeros, pq todos são divisiveis por 1… e ele termina na metade do numero (numero / 2) pq o % de todos os numeros maiores q a metade desse numero ira retornar um resto, então… não se faz necessário calcular… vai ser só perda de tempo.
[]'s[/quote]
tem um erro q eu arrumei na boolean…
import javax.swing.JOptionPane;
public class Primo {
public static void main( String[] args )
{
int numero = Integer.parseInt(
JOptionPane.showInputDialog( "Digite o numero" ) );
boolean primo = true;
for ( int i = 2; i < numero / 2; i++ ){
if ( ( numero % i ) != 0 ){
primo = false;
break;
}
}
if ( primo )
JOptionPane.showMessageDialog( null, numero + "eh primo" );
else
JOptionPane.showMessageDialog( null, numero + " nao eh primo" );
System.exit( 0 );
}
}
bah… mil desculpas ai gente! postei na correria!
thanks felipe!
Caros Colegas, que agora considero como irmaos.
acho que ja to começando a pegar o jeito da coisa. Olhem só.
O Felipe achou que consertou o erro do Mateus, quando na verdade ele apenas inverteu a maneira de retorno, o que antes só voltava " é primo para todos" agora só volta “nao eh primo” para todos. mas olhando um coidgo aqui, uma dica ali… acabei descobrindo finalmente qual foi o erro do Mateus.
Olhem apenas esse pequeno trecho.
[code]
for ( int i = 2; i < numero / 2; i++ ){
if ( ( numero % i ) != 0 ){
primo = false;
break;
[\code]
ele teria que está assim, ja que que segundo a logica passada antes por Diana dizia que Numero primo eh o numero que soh tem divisão exata por ele mesmo e por um 1…por exemplo:
3…so pode ser dividio por 3…que da 1, resto 0…e por 1…que da 3, resto 0…7, 11, 13, 17
olhem: quando rodei dessa maneira funcionou … show de bola pra vcs irmaos…
[code]
for ( int i = 2; i < numero / 2; i++ ){
if ( ( numero % i ) == 0 ){
primo = false;
break;
[\code]
Bye bye and thanks.
mals ae heehhehe eh q eu dei uma olhada rapida no codigo do mateus e o q eu vi de cara foi aquele erro q ia se basear apenas no ultimo numero testado… dai pensei q era akilo q tava dando errado… mas tinha mais um erro…
mas jah q vc arrumou o erro ta tudo bem
é… acho q não foi só eu q tomei um porre a noite passada e vim pro forum heaheahea (estilo jeve :lol: )
:eletrico:
Cara, estou quase chorando de tanta emoção. Os números primos promovem a união da humanidade, eu não acredito, eheheh…
[quote=“matheus”]é… acho q não foi só eu q tomei um porre a noite passada e vim pro forum heaheahea (estilo jeve :lol: )
:eletrico:[/quote]
eu n tomei porre… eu n bebo! imagina… eu jah sou meio doidao assim sem beber nada imagina se eu tomar algumas garrafas de cachaca hauahuahuahuahuaahuahua :tosco:
Q é isso gente!!! uma cervejinha de vez em quando nao faz mal a niguem heheeh.
MigMax
[quote=“MigMax”]… uma cervejinha de vez em quando nao faz mal a niguem heheeh.
[/quote]
:brinde: :bebado:
Mas UMAS vazem um estrago danado. eheheheheh
No Doubt! :lol: