Matemática discreta
Publicado por Gustavo Luis Lopes Maciel (última atualização em 30/09/2009)
[ Hits: 8.898 ]
Download Algoritmo MatDiscreta.txt
Galera, segue um algoritmo voltado para a parte de matemática discreta, ele faz os cálculos de:
- arranjo simples
- arranjo com repetição
- combinação simples
- combinação com repetição
- permutação
Espero que seja de utilidade para mais alguém.
/*
* COMBINAÇÃO SIMPLES E COMBINAÇÃO COM REPETIÇÃO
*/
import java.util.Scanner;
public class Exercicio1 {
public static void main(String[] args) {
int n,p,op;
System.out.println("DIGITE");
System.out.println("1-Arranjo Simples");
System.out.println("2-Arranjo com Repetição");
System.out.println("3-Combinação Simples");
System.out.println("4-Combinação com Repetição");
System.out.println("5-Permutação");
op=new Scanner(System.in).nextInt();
if(op==5){
permutacao();
}
if (op<5)
System.out.println("menor Valor");
n=new Scanner (System.in).nextInt();
System.out.println("Maior Valor");
p=new Scanner (System.in).nextInt();
if (p<n){
System.out.println("Valore Invalido P tem q ser menor");
}else{
switch(op){
case 1:
arranjoSimples(n,p);
break;
case 2:
arranjoRepeticao(n,p);
break;
case 3:
combiSimples(n,p);
break;
case 4:
combiRepeticao(n,p);
break;
default:
System.out.println("Valor Invalido");
}
}
}
public static void permutacao(){
int per;
int fatp=1;
System.out.println("Digite o valor para ser Permutado");
per=new Scanner(System.in).nextInt();
for(int i=1;i<=per;i++){
fatp=fatp*i;
}
System.out.println("conta");
System.out.println("o Valor da permutação é "+fatp);
}
public static void arranjoSimples(int n,int p){
int fatn=1;
int fatp=1;
int fatd=1;
int var=p-n;
double fatt;
System.out.println("A("+p+","+n+")");
for(int i=1;i<=p;i++){
fatp=fatp*i;
}
for(int i=1;i<=n;i++){
fatd=fatd*i;
}
fatt=fatp/fatd;
System.out.println("fatorial do p maior num = "+fatp);
System.out.println("fatorial do n menor num ="+fatd);
System.out.println("Arranjo Simples =>"+fatt);
}
public static void arranjoRepeticao(int n,int p){
for(int i=1;i<n;i++){
p*=p;
}
System.out.println("Arranjo com repetição ="+p);
}
public static void combiSimples(int n,int p){
int fatp=1;
int fatn=1;
int fatv=1;
double fatt;
int var=p-n;
System.out.println("Cs ("+p+","+n+")");
for(int i=1;i<=p;i++){
fatp=fatp*i;
}
for(int i=1;i<=var;i++){
fatv=fatv*i;
}
for(int i=1;i<=n;i++){
fatn=fatn*i;
}
fatt=fatp/(fatv*fatn);
System.out.println("fatorial de p"+fatp);
System.out.println("fatorial de n"+fatn);
System.out.println("fatorial de p-n"+fatv);
System.out.println("Valor da Combinação "+fatt);
}
public static void combiRepeticao(int n,int p){
int fatn=1;
int fatp=1;
int fatd=1;
double fatvar=1;
double fatvar2=1;
double fatfim=1;
int var=(p+n)-1;
int var2=n-1;
double fatt;
System.out.println("A("+p+","+n+")");
for(int i=1;i<=p;i++){
fatp=fatp*i;
}
for(int i=1;i<=var;i++){
fatvar=fatvar*i;
}
for(int i=1;i<=var2;i++){
fatvar2=fatvar2*i;
}
fatfim = fatvar/(fatvar2*fatp);
System.out.println("O Valor da Combinação "+fatfim);
}
}
Diferenca entre meses - um método de busca simples
Algoritmo para Gerar um Sudoku NxN válido
Código para validar CPF e CNPJ otimizado
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Como você configura seu GNOME? Eu faço assim... (4)
ClamAV, um montão de coisas suspeitas .... (0)









