Dúvida sobre um exercício que envolve números perfeitos

Por favor estou com uma dúvida sobre essa questão, agradeço muito caso alguém consiga me explicar.

QUESTÃO: 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).

EU CONSEGUI FAZER A PRIMEIRA PARTE, MAS NÃO SEI COMO POSSO PEGAR POR EXEMPLO O SEGUNDO OU O TERCEIRO NÚMERO QUE O USUÁRIO VAI DIGITAR, E NEM COMO FAZER PARA IMPRIMIR QUATRO DÍGITOS CONSECUTIVOS QUE SOMADOS DEM ESSE NÚMERO QUE O USUÁRIO DIGITOU. CONSEGUI APENAS ATÉ AQUI.

import java .util.Scanner;
public class REVISÃO {
public static void main(String[] args){
	int n = 1;
      float num1,num2;
      int count=2;
      int j = 0;
      int quantidade;
      
      Scanner entrada = new Scanner(System.in);
	  System.out.println("Informe a quantidade de números que deseja digitar: ");
	  quantidade = entrada.nextInt();
	  System.out.print("Numero 1: ");
	  num1 = entrada.nextFloat();
	
	  while(count <= quantidade){
	   System.out.print("Numero " + count + ": ");
	   num2 = entrada.nextFloat();
	   count++;

	}
		
	}

}

O nome da Classe viola os padrões de nomenclatura, não deve ter acentos como “~”, e não deve ser todo em letra maiúscula; além disso, deve ser algo que faça sentido no Programa.

Pra resolver esse problema, você pode começar verificando se o Número inserido é Inteiro ou não, pois, se não for, já pode dizer que não há como a soma de 4 números inteiros resultar nele.

Para fazer o que o exercício pede, você pode usar “força bruta” tentando realizar todas as combinações possíveis de 4 Números Inteiros Consecutivos até a soma dar o valor inserido pelo usuário ou até ficar claro que não é possível a soma de 4 Inteiros Consecutivos dar o valor inserido pelo usuário. Note que são números “Inteiros”, não “Naturais”, isso significa que você pode somar com Números Negativos também.

Mas talvez haja um jeito de fazer isso através da matemática, talvez com mdc, você pode postar a dúvida em um fórum de matemática perguntando algo como:

Diante das premissas abaixo, como saber o valor de “a” dando o valor de “x”:

  • “a+b+c+d=x”;
  • “x”, “a”, “b”, “c” e ''d" são todos Números Inteiros;
  • “b = a+1”;
  • “c = b+1”;
  • “d = c+1”;

Dado o valor de “x”, como determinar o valor de “a”?
Por exemplo, se “x=10” então “a=1”, pois “1+2+3+4=10”.
Como determinar o valor de “a” se “x=4”? ou se “x=29”?

EDIT: Perguntei em um Q&A de matemática e me responderam a fórmula:

“n = x+(x+1)+(x+2)+(x+3)” equivale a “n=4x+6”, e isto equivale a “x=(n-6)/4”. Se “x” não for inteiro após fazer esse cálculo, então o número “n” não possui “a propriedade mencionada”.

Note que, “n” é o número inserido pelo usuário, e “x” é o primeiro número da Sequencia de 4 Números Inteiros Consecutivos que somados resultam em “n”.

1 curtida