Buscar

dúvida , algorítimo Java .

3. Existem números que podem ser obtidos como a soma de 4 números inteiros consecutivos. Ex: 1 + 2 + 3 + 4 = 10. Faça um programa que pergunte ao usuário quantos números ele pretende digitar. Em seguida, para cada número digitado pelo usuário, o programa deverá informar se o número possui a propriedade mencionada acima ou não (se tiver, o programa deverá informar qual a sequencia de 4 números inteiros consecutivos que produz esse valor).

💡 4 Respostas

User badge image

Higor Gardin

Eu fiz um algoritmo que faz um loop até um numéro MAX = 10000, pois não sei quais as restrições do programa. Com certeza há melhores formas de fazer, mas com os valores que testei, funcionou bem.

import java.util.*;
public class Alg{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        final int MAX = 10000;
        int n, num, cont = 1, sum = 0, aux = 0, aux2 = 0;
        int[] array = new int[5];

        System.out.print("Informe a quantia de numeros a ser inserida: ");
        n = scan.nextInt();
        do{
            System.out.print("Informe o numero a ser analisado: ");
            num = scan.nextInt();
            for(int i = 1; i < MAX-4; i++){
                if(i + (i + 1) + (i + 2) + (i + 3) == num){
                    aux2 = i;
                    System.out.print("A soma de ");
                    for(int j = 1; j < 5; j++){
                        array[j] = aux2;
                        System.out.print(aux2);
                        if(j != 4)
                            System.out.print(" + ");
                        aux2++;
                    }
                    System.out.println(" = " + num);
                    sum = (i + (i + 1) + (i + 2) + (i + 3));
                    break;
                }
            }
            if(num != sum) System.out.println("O numero nao possui sequencia consecutiva!");
            num = sum = 0; cont = 1;
            aux++;
        }while (aux < n);
    }
}

0
Dislike0
User badge image

Andre Smaira

dúvida, algoritmo Java.

3. Existem números que podem ser obtidos como a soma de 4 números inteiros consecutivos. Ex: 1 + 2 + 3 + 4 = 10. Faça um programa que pergunte ao usuário quantos números ele pretende digitar. Em seguida, para cada número digitado pelo usuário, o programa deverá informar se o número possui a propriedade mencionada acima ou não (se tiver, o programa deverá informar qual a sequência de 4 números inteiros consecutivos que produz esse valor).

#atividade #Java #algoritmos


Para resolver essa questão, serão envolvidos conhecimentos de linguagem de programação Java.


Primeiramente precisamos perguntar ao usuário quantos números ele deseja digitar (número inteiro) e armazenar cada um deles. Para isso, iremos usar um vetor para gravar esses números, usaremos um vetor “double” pois o usuário pode digitar qualquer número.

O código começará assim:

import java.util.Scanner;

public class main {

public static void main(String[] args) {

Scanner sc = new Scanner (System.in);

int n;

System.out.println("Quantos números você quer digitar?");

n = sc.nextInt();

double v[] = new double[n];

for (int i=0; i<n; i++){

v[i]=sc.nextDouble();

}

Como os quatro números precisam ser consecutivos, temos a seguinte equação para um número digitado, chamado m:

Assim, precisamos achar um valor x que seja igual a:

Todos os números somados precisam ser inteiros como exigido no enunciado, então o valor de x também é inteiro. Logo o resto da divisão de (m-6) por 4 deverá ser igual a zero. Assim, faremos um “if” para checar essa condição, utilizando o operador “%” que calcula o resto da divisão. Colocando tudo dentro de um laço de repetição “for” para analisar cada um dos números digitados separadamente.

Por fim, o resultado será mostrado ao usuário: se o número possui a propriedade ou não e qual a soma que resulta nele. O restante do código será:

for (int i=0; i<n; i++){

if(((v[i]-6)%4) ==0){

double x = ((v[i]-6)/4);

System.out.println("O número "+v[i]+" possui a propriedade");

System.out.println((v[i])+" = "+x+" + "+(x+1)+" + "+(x+2)+" + "+(x+3));

} else{

System.out.println("O número "+v[i]+" não possui a propriedade");

}

}

}

}

0
Dislike0
User badge image

Andre Smaira

Para resolver essa questão, serão envolvidos conhecimentos de linguagem de programação Java.


Primeiramente precisamos perguntar ao usuário quantos números ele deseja digitar (número inteiro) e armazenar cada um deles. Para isso, iremos usar um vetor para gravar esses números, usaremos um vetor “double” pois o usuário pode digitar qualquer número.

O código começará assim:

import java.util.Scanner;

public class main {

public static void main(String[] args) {

Scanner sc = new Scanner (System.in);

int n;

System.out.println("Quantos números você quer digitar?");

n = sc.nextInt();

double v[] = new double[n];

for (int i=0; i<n; i++){

v[i]=sc.nextDouble();

}

Como os quatro números precisam ser consecutivos, temos a seguinte equação para um número digitado, chamado m:

Assim, precisamos achar um valor x que seja igual a:

Todos os números somados precisam ser inteiros como exigido no enunciado, então o valor de x também é inteiro. Logo o resto da divisão de (m-6) por 4 deverá ser igual a zero. Assim, faremos um “if” para checar essa condição, utilizando o operador “%” que calcula o resto da divisão. Colocando tudo dentro de um laço de repetição “for” para analisar cada um dos números digitados separadamente.

Por fim, o resultado será mostrado ao usuário: se o número possui a propriedade ou não e qual a soma que resulta nele. O restante do código será:

for (int i=0; i<n; i++){

if(((v[i]-6)%4) ==0){

double x = ((v[i]-6)/4);

System.out.println("O número "+v[i]+" possui a propriedade");

System.out.println((v[i])+" = "+x+" + "+(x+1)+" + "+(x+2)+" + "+(x+3));

} else{

System.out.println("O número "+v[i]+" não possui a propriedade");

}

}

}

}

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais