
No obtiene todos los numeros
Publicado por Christian (1 intervención) el 01/04/2017 04:25:28
Buenas, un gusto, soy nuevo en el foro dado que tengo una duda sobre mi código en java, el planteamiento es el siguiente y esta en inglés, espero lo entiendan. This is very simple problem, you only have to display the prime factorization of nCr. For
example: 10C5 = 252 = 2 * 2 * 3 * 3 * 7
Input:
This is multiple test case problem. Input is terminated by end of file.
Each line contains one test case and it contains two positive numbers n and r.
(2 ≤ n ≤ 3000 && 1 ≤ r ≤ n-1).
Bueno ese es el planteamiento, tengo mi codigo de la siguiente manera:
Tengo dudas porque al ingresar los 2 números no me los toma todos y tiene que hacerlo dado que eso pide el enunciado. Bueno, espero alguna ayuda y se los agradecería mucho. Gracias de antemano y saludos :).
example: 10C5 = 252 = 2 * 2 * 3 * 3 * 7
Input:
This is multiple test case problem. Input is terminated by end of file.
Each line contains one test case and it contains two positive numbers n and r.
(2 ≤ n ≤ 3000 && 1 ≤ r ≤ n-1).
Bueno ese es el planteamiento, tengo mi codigo de la siguiente manera:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.util.Scanner;
public class Main {
public static int fact(int num) //funcion para sacar el factorial de un numero entero positivo
{
int fact=1, i;
for(i=1; i<=num; i++)
{
fact = fact*i;
}
return fact;
}
public static void main(String args[]){ // declaracion de las dos variables que seran los numeros ingresados por pantalla
int var1 = 0;
int var2 = 0;
Scanner sc = new Scanner(System.in);
int var01 = sc.nextInt();
int var02 = sc.nextInt();
int resultado = (fact(var01)/(fact(var01-var02)*fact(var02))); //calculo de combinacion de las variables ingresadas por pantalla
for (int i=2;i<=(resultado);i++){ // calculo de factores primos
int contador=0;
while (resultado % i == 0) {
resultado /= i;
contador++;
}
if (contador != 0) { // entrega por pantalla de factores primos
for (int j = contador;j>0;j--){
System.out.print(i);
if (resultado !=1){
System.out.print("*");
}
}
}
}
}
}
Tengo dudas porque al ingresar los 2 números no me los toma todos y tiene que hacerlo dado que eso pide el enunciado. Bueno, espero alguna ayuda y se los agradecería mucho. Gracias de antemano y saludos :).
Valora esta pregunta


0