leetcode1015. 可被 K 整除的最小整数

题目描述

给定正整数 K,你需要找出可以被 K 整除的、仅包含数字 1 的最小正整数 N。

返回 N 的长度。如果不存在这样的 N,就返回 -1。

题解

很明显,能被2或5整除的数不存在
使用暴力法取K作为上限

class Solution {
    public int smallestRepunitDivByK(int K) {
        if(K % 2 == 0 || K % 5 == 0){
            return -1;
        }
        int count = 1;
        for(int i = 1;i % K != 0;count++){
            i %= K;
            i = i * 10 + 1;
        }
        return count;
    }
}
点赞