Faça um programa que solicite um numero inteiro ao usuário então imprima todos os
numeros primos até aquele inteiro.Por exemplo, se o usuario inserir 20, o programa deve
imprimir 2 3 5 7 11 13 17 19 .
Só que não consigo fazer, com que ele imprima os numeros primos até aquele que o usuário digitou!!!
importjavax.swing.*;publicclassProva{publicstaticvoidmain(String[]args){intnumero,primos=0,pos;numero=Integer.parseInt(JOptionPane.showInputDialog("digite o numero"));for(pos=0;pos<numero;pos++){if((numero%1==0)&&(numero%numero==0))primos++;}System.out.println("primos sao: "+primos);}}
publicstaticvoidmain(String[]args){intnumero,primos=0,pos;numero=Integer.parseInt(JOptionPane.showInputDialog("digite o numero"));for(pos=0;pos<numero;pos++){if((numero%1==0)&&(numero%numero==0))primos++;}System.out.println("primos sao: "+primos);}
}importjavax.swing.*;publicclassProva{
publicstaticvoidmain(String[]args){intnumero,primos=0,pos;numero=Integer.parseInt(JOptionPane.showInputDialog("digite o numero"));for(pos=0;pos<numero;pos++){if((numero%1==0)&&(numero%numero==0))// muda aki// primos++;System.out.println("primos sao: "+primos);}}
}
J
juniorfreire
import javax.swing.*;
public class Prova {
publicstaticvoidmain(String[]args){intnumero,primos=0,pos;numero=Integer.parseInt(JOptionPane.showInputDialog("digite o numero"));for(pos=0;pos<numero;pos++){if((numero%1==0)&&(numero%numero==0))primos++;}System.out.println("primos sao: "+primos);}
}importjavax.swing.*;publicclassProva{
publicstaticvoidmain(String[]args){intnumero,primos=0,pos;numero=Integer.parseInt(JOptionPane.showInputDialog("digite o numero"));for(pos=0;pos<numero;pos++){if((numero%1==0)&&(numero%numero==0))//primos++;// muda para kaSystem.out.print(numero+",");}}
}
J
juniorfreire
import javax.swing.*;
public class Prova {
publicstaticvoidmain(String[]args){intnumero,primos=0,pos;do(numero=Integer.parseInt(JOptionPane.showInputDialog("digite o numero"));for(pos=0;pos<=numero;pos++){if(numero%pos==0)primos++;}if(primos<3)System.out.println(numero);Stringresposta=JOptionPane.showInputDialog("Continua (S/N) ? ");}while(resposta!="N"||resposta!="n");}
}
rmendes08
O seu primeiro erro foi colocar o println() fora do laço. Assim você vai imprimir apenas o último número. Bem, a sua lógica está errada também. Na verdade, TODOS os números são divisíveis por 1 e por si mesmos. Assim, se você apenas incluir o println() dentro do laço você vai imprimir todos os números de 1 até o número digitado. Então, você precisa mudar o seu critério para testar se um número é primo ou não. Basta aplicar a definição de número primo: é um número divisível APENAS por 1 e por ele mesmo. Assim, se houver algum divisor entre 1 e N o número não é primo
Bem, algoritmos para encontrar números primos são bem conhecidos, uma vasculhada no Google resolve a vida.