poj 2551 Ones

输入一个数n,求它最小的一个倍数(其中只含有数字1)的长度。

java BigInteger 秒杀   再次感觉到java好啰嗦

import java.math.*;
import java.util.*;

public class Main {
	public static void main(String[] args) {
		BigInteger n;
		Scanner cin = new Scanner(System.in);
		while (cin.hasNext()) {
			n = cin.nextBigInteger();
			if (n.equals(0)) {
				System.out.println(0);
				continue;
			}
			BigInteger sum = BigInteger.valueOf(1);
			int cnt = 1;
			while (true) {
				if (sum.mod(n).equals(BigInteger.valueOf(0))) {
					System.out.println(cnt);
					break;
				}
				cnt++;
				sum = sum.multiply(BigInteger.valueOf(10)).add(BigInteger.valueOf(1));
			}
		}
		cin.close();
	}
}

原文地址:https://www.cnblogs.com/xindoo/p/3595017.html