LeetCode 1022. 可被 K 整除的最小整数

LeetCode 1022. 可被 K 整除的最小整数

k对n求和,n可以分解为可以被k整除的部分x和余数m;

从小到大枚举数n(10*n'+1=10*(x+m)+1),因为x*10必定可以被k整除,问题就可以转化为枚举m(10*m'+1)是否可以被k整除

class Solution {
public:
    int smallestRepunitDivByK(int K) {
        int v=0;
        for(int i=1;i<=1e5;++i)
        {
            v=(v*10+1)%K;
            if(v==0) return i;
        }
        return -1;
    }
};

 

你可能感兴趣的:(杂刷)