Como calcular numero primo em binario (urgente)!

3 respostas
A

Gostaria de ajuda no código abaixo.
Escreva um programa Java que imprima todos os números primos de 0 a 256 em formato binário. Considere que 0 e 1 NÃO são números primos.

Todos os números, já em binário, devem ser concatenados sem espaços.

Considere que cada número tem 8 bits.

EXEMPLO de resposta:

0 - 00000000
1 - 00000001

deveriam ser informados da seguinte forma:

0000000000000001

[b]codigo:

public CalculoPrimos() {

}

public static void main(String a[]){

int n=1, n2, cont;

float r=0;

int valor,Digito;

String resultado="";

valor=Integer.parseInt(str);

while(n < 256){

n2=n-1;

for(cont = n2; cont >= 2; cont?){

r = n % cont;

if (valor>1){

while(valor>=2){

Digito=valor%2;

valor=valor/2;

resultado=Integer.toString(Digito).trim().concat(resultado.trim());

}

Digito=1;

=Integer.toString(Digito).trim().concat(resultado.trim());

}

else

if (valor>0 && valor<=1)

resultado=Integer.toString(valor).trim();

else

resultado=0 não é um binário válido;

return resultado;

}

[/b]

3 Respostas

gpd38

1º Verifica se um numero é primo.
2º Usa esta função para converter ele para binario --> String bin = Integer.toString(valor,2);

[Editado para uma resposta melhor]

import java.math.BigInteger;
import javax.swing.JOptionPane;

public class Verifica_se_Primo_e_Converte_Binario {

    public static void main(String args[]) {
        //Usuario digita um numero
        String N = JOptionPane.showInputDialog(null, "Informe o numero", "Primo em Binario", JOptionPane.QUESTION_MESSAGE);
        //Variavel que armazenara o valor binario deste numero
        String bin = "";

        //retorna true-PRIMO # false-NAO PRIMO
        if (Verifica_se_Primo(N)) {
            //o valor2 indica qual a base deve ser a conversão
            System.out.println("É PRIMO");
            bin = Integer.toString(Integer.parseInt(N), 2);
            System.out.println("Numero em Decimal: " + N);
            System.out.println("Numero em Binario: " + bin);
        } else {
            System.out.println("Não é PRIMO");
        }
    }

    private static boolean Verifica_se_Primo(String N) {
        BigInteger numero = new BigInteger(N);
        if (numero.isProbablePrime(Integer.MAX_VALUE)) {
            return true;
        }
        return false;
    }
}

Funciona 100%

A

ok

A

muito obrigada pela ajuda amigo…
te devo essa!!!

Criado 10 de dezembro de 2009
Ultima resposta 10 de dez. de 2009
Respostas 3
Participantes 2