Olá, pessoal! Sou eu de novo. Depois das dicas do pessoal daqui, dei uma aperfeiçoada em meu programinha que resolve equações de 2° grau. Agora tentei fazer outro programa utilitário na área da Matemática, um programa que calcula Arranjos (Análise Combinatória). Até consegui resolver os exercícios mais simples do livro, como “A 10,2”. Mesmo assim, quando tento estabelecer “n” como um valor mais alto, o resultado final sai errado. Por exemplo. Quando coloco n=6 k=3, o resultado sai 120, correto. Agora, se coloco n=15 k=3, o resultado sai 4, sendo que o resultado certo seria 4080. Se possível, gostaria de ajuda para descobrir o que está errado com o código, embora tenha quase certeza que é com meu fatorial… Desde já, obrigado!
// Arranjo A(n,k)- Desenvolvido por "Kaff" - 2014
import java.util.Scanner;
public class Arranjo {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int fat = 1;
System.out.println(" * Calculando o arranjo A (n,k) *");
System.out.printf("\n");
System.out.printf("\n");
System.out.printf("> Digite o valor de n: ");
int n = entrada.nextInt();
System.out.printf("> Digite o valor de k: ");
int k = entrada.nextInt();
int valor = n;
for( int i = 2; i <= valor; i++)
{fat *=i;}
int fatb = 1;
int valorb = n-k;
for( int i = 2; i <= valorb; i++)
{fatb *=i;}
int result = (fat/fatb);
System.out.println(" \n");
System.out.println(" \n");
System.out.println(" A "+n+","+k+" = "+result+"\n");
}
}

