1. 

/**
* FWP, Ausgewählte Probleme aus dem ACM Programming Contest, WS09
* Problem: 10127 - Ones
* Link: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=13&problem=1068&mosmsg=Submission+received+with+ID+7682503
*
* @author Stefan Gohlke
* @version 1.0, 01/11/2010
*
* Method : Ad-Hoc
* Status : Accepted
* Runtime: 0.968
*/

package ones_acc;

import java.math.BigInteger;
import java.util.Scanner;

public class Main {

public static void main (String[] args)
{
Ones();
}

public static void Ones()
{
Scanner scanner = new Scanner(System.in);

while (scanner.hasNextInt()) {

BigInteger zahl = new BigInteger("" + scanner.nextInt()); //n einlesen
long digits = 1; //Anzahl der Stellen
boolean ergebnisGefunden = false; //wurde ein Ergebnis gefunden
BigInteger oneBI = new BigInteger("1"); //BigInteger zum Rechnen

while (!ergebnisGefunden) {
if (oneBI.remainder(zahl).toString().equals("0")) { //Wenn ein Kandidat ala "11...11" mod n 0 ist lässt sich die Zahl ohne Rest durch n teilen
ergebnisGefunden = true;
System.out.println(digits);
}
else {
digits++; //Ziffern um eins hochzählen für nächsten Kandidaten "11...11" + "1"
oneBI = oneBI.multiply(BigInteger.TEN).add(BigInteger.ONE); //nächster Kandidat: (Kandidat * 10) + 1
}

}
}
}
}