[color=green]Bom dia pessoal, estou começando a programar em java e por isso estou ainda com programas bem simples, contudo um destes ainda não acertei em fazer, que seria: elaborar um programa que inserindo um número, fatore esse número assim como um mmc (contudo apenas de um número).
Exemplos: 15 = 3,5;
48 = 2,2,2,2,3;
E outros…
Eu sei que por parecer muito simples alguns nem deêm importância, mas não custa nada contribuir, obrigado![/color]
Isso é um problema com algoritmo, não um problema com a linguagem Java não é mesmo?
O que você já fez? Pode postar?
Isso ai se chama decomposição em fatores primos.
MMC é o mínimo múltiplo comum entre dois ou mais números, ou seja, o menor número que divide dois ou mais números simultaneamente e que o resto da divisão inteira é zero.
[]´s
Realmente vc está correto, isto é mais um problema com o algoritimo, o que eu fiz até agora foi apenas fazer com que o programa imprimisse os divisores do número, como está no código abaixo:
import java.util.Scanner;
public class questao{
public static void main(String[] args){
Scanner scn = new Scanner(System.in);
int num = scn.nextInt();
int i;
while(num>1){
for (i=2; i<=num; i++){
if (num%i==0)
System.out.println(i);
}
num = num/i;
}
}
}
Ja tentei vários meios para resolver o problema por completo, mas apaguei e por isso não estou enviando neste algoritmo. Eu estava pensando em selecionar apenas um único i que no caso o menor de todos e seleciona-lo para ser impresso na tela e usado para dividir o número, estava trabalhando em cima disso, e pergunto seria uma solução?, se for é realmente isso que eu estou buscando, pois pode me ser útil também em outros casos. Aguardo resposta, obrigado!
MMC ou MDC?
Se for o MDC, você pode tentar ver o algoritmo de Euclides.
Para fazer a fatoração de um número, ache os primos <= raiz quadrada desse número, e então, para cada primo dessa lista, veja quantas vezes cada um dos primos consegue dividir esse número.
Para fazer essa lista de primos, use o algoritmo “Crivo de Eratóstenes”. Se procurar aqui no GUJ vai achar isso pronto. Então para determinar os divisores é bem simples.
Além das dicas do entanglement, recomendo que você dê uma lida aqui para aprender a colar código fonte no fórum.
[]´s
Não existe “mmc de um número” nem “mdc de um número.” - a menos que você considere que MMC de um número é ele mesmo, e MDC de um número é ele mesmo.
Para determinar o MDC de dois números, use o algoritmo de Euclides (que você também pode achar aqui no GUJ).
Para achar o MMC de dois números, basta achar o MDC deles, e dividir o produto desses números pelo MDC deles.
A relação que eu usei MMC é apenas para ilustrar, na verdade é a fatoração, contudo não do seu máximo divisor, mas sim do seu mínimo divisor, que será impresso em tela e depois dividirá o número inserido, posteriormente esse novo número terá novamente outro minimo divisor que novamente será impresso na tela e dividirá o número criando outro e assim sucessivamente, até que esse número seja 1, uma vez que se ele não possuir mais divisores será dividido por ele mesmo.
Obrigado pessoal, eu vou analisar as soluções que vocês me indicaram e David valeu por enviar a forma correta de como colocar os códigos eu vou ler e da próxima vez ja deixo mais claro o que quero, é que este é o primeiro tópico em que pesso auxilio.
rsrs…esquenta não…
tipo…você pode ir na base do tentativa e erro
verificando se o número é divisível por outro pegando seu resto
int x, y;
x = 3;
y = 15;
if(!15%3)
System.out.println("É Divisível");
daio em diante vc viaja