Monday, 24 February 2014

UVA Problem ID 10219 (Find the Ways! )

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;


public class Main {
	public static void main (String args[]) throws IOException
	{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb=new StringBuilder(10000);
		String input;
		while((input=br.readLine())!=null)
		{
			String numbers[]=input.split(" +");
			int n=Integer.parseInt(numbers[0]);
			int r=Integer.parseInt(numbers[1]);
			sb.append(factorial(new BigInteger(n+""),1,r).divide(factorial(new BigInteger(r+""))).toString().length()+"\n");
		}
		System.out.print(sb);
	}
	public static BigInteger factorial(BigInteger n)
	{
		if(n.intValue()==0 || n.intValue()==1)
			return BigInteger.ONE;
		else
		{
			return n.multiply(factorial(n.subtract(BigInteger.ONE)));
		}
	}
	public static BigInteger factorial(BigInteger n,int count,int limit)
	{
		if(n.intValue()==0 || n.intValue()==1)
			return BigInteger.ONE;
		else
		{
			if(count
Previous Post
Next Post

0 comments:

Advertisement