1. Java,
Peter Schnitzler

/* Problem : 10219
* Author : Peter Schnitzler
* Status : AC
* Runtime : 0.07
*/


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;



public class Main
{

public static void main(String[] args) throws Exception
{
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));

String line = read.readLine();


while (line != null)
{
//input
StringTokenizer tok = new StringTokenizer(line);

BigInteger n = new BigInteger(tok.nextToken());
BigInteger k = new BigInteger(tok.nextToken());


n = nOverK(n, k);

//output
System.out.println(n.toString().length());

line = read.readLine();
}
}



private static BigInteger nOverK(BigInteger n, BigInteger k)
{
if (k.compareTo(BigInteger.ZERO) == 0)
return BigInteger.ONE;



if (k.shiftLeft(1).compareTo(n) > 0)
{
return nOverK(n, n.subtract(k));
}


BigInteger result = n;

for (BigInteger i = new BigInteger("2"); i.compareTo(k) <= 0; i = i.add(BigInteger.ONE))
{
result = result.multiply(n.add(BigInteger.ONE).subtract(i));
result = result.divide(i);
}

return result;
}
}


2. C, Doina Logofatu



/**
* ACM programming Contest WS 08/09
* UVa Status: Accepted
* Run Time: 0.000
* Programming Language: C
* @author Doina Logofatu logofatu@hm.edu
*/

/*
Anzahl der Ziffern der Zahl N ist: floor(log10(N)) + 1
Allgemein: log10(AB) = log10(A) + log10(B), log10(A/B) = log10(A) - log10(B)
Man schreibt die log10(Kombinationen-Formel) mit Hilfe der Addition & Substraktion
*/

#include <stdio.h>
#include <math.h>

int main() {

unsigned long long n, k;
unsigned long long i;
register double s;

while(scanf("%llu %llu", &n, &k) == 2){
s = 0;
if(k>n-k) k=n-k;
for (i=1; i<k; i++) s -= log10(i+1);
for (i=0; i<k; i++) s += log10(n-i);
printf("%d\n", (int)floor(s)+1);
}

return 0;
}