Ir ao conteúdo

Posts recomendados

Postado

Olá amigos, estou com um problema para fazer o algoritmo desse exercício. Não estou conseguindo interpretar da maneira correta, o que o enunciado pede. Alguém pode dar uma luz?


Faça um programa em Java denominado SomaPar que mostre que um número par pode ser descrito como a soma de dois números primos.

Seu programa deve verificar os números pares no intervalo 8 ≤ N ≤ 52.

Considere o seguinte vetor de números primos:

int [] primos = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43};

Seu programa deve mostrar TODAS as combinações possíveis. Abaixo, um pedaço da saída esperada do seu programa.

8 = 3 + 5

8 = 5 + 3

10 = 5 + 5

12 = 5 + 7

12 = 7 + 5

 

 

  • Curtir 1
Postado

Como é a soma de dois números primos, o que você tem que fazer é um par de for's para comparar todas as possibilidades

para número par de 8 a 52 

  para i de 0 a 14  

     para j de 0 a 14 

          testa se primo + primo[j] == número par  ...  se for , imprime primo e primo[j]

 

 

Esse é o algoritmo genérico (90% da solução é essa aí)

 

Que tal ? Entendeu a ideia ? 

Consegue fazer em Java ? 

 

  • Curtir 1
  • Confuso 1
Postado

@Boko Moko  Vou tentar fazer o código, aí mando aqui. Obrigado!

 

 

adicionado 41 minutos depois

@Boko Moko Cara, quebrei a cabeça aqui e nada... essa parte de vetor é meu calcanhar de aquiles, tá osso! Fiz só isso até agora: 

import java.util.Scanner;
public class SomaPar{
    public static void main(String [] args){
        Scanner sc = new Scanner (System.in);
        int [] primos = new int [14];
        int soma, n;

       for (int index = 0; index < 14; index++){
        primos[index] = sc.nextInt();
       }

 

  • Curtir 1
Postado

Veja só

primeiro entender como funciona vetores :

o vetor de primos tem 14 elementos, numerados de 0 a 13

o elemento 0 é o 2, o elemento 13 é o 43

então voce tem que tentar

elemento 0 + elemento 0 == número  ? 

elemento 0 + elemento 1 == número ? 

elemento 0 + elemento 2 == número

... e assim por diante até 

elemento 0 + elemento 13 == número ? 

depois

elemento 1 + elemento 0 == número ? 

elemento 1 + elemento 1 == número

elemento 1 + elemento 2 == número ?  

 

Por isso que tem 3 for's  no algoritmo

O Primeiro for é para variar de 8 a 52, os números que devem ser testados.


Para cada um desses números você tem que testar as possíveis combinaçoes, por isso tem dois for dentro

 

adicionado 8 minutos depois
for (int numero=8 ; numero <=52 ; numero++) {
   for (int i=0 ; i< 14 ; i++) {
     for (int j=0 ; j<14 ; j++) {
        teste aqui ... se o primo[i] + primo[j] == numero;
       
     }
   }
} 

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!