human
I found an interesting problem on https://leetcode.com/problems/smallest-integer-divisible-by-k/:
Given a positive integer K, you need find the smallest positive integer N such that N is divisible by K, and N only contains the digit 1.
Return the length of N.  If there is no such N, return -1.
 
Example 1:
Input: 1
Output: 1
Explanation: The smallest answer is N = 1, which has length 1.
Example 2:
Input: 2
Output: -1
Explanation: There is no such positive integer N divisible by 2.
Example 3:
Input: 3
Output: 3
Explanation: The smallest answer is N = 111, which has length 3.
 
Note:

1 <= K <= 10^5

I tried it in Python, but could not do it. Can you solve it?

Write me a Python program to find the smallest positive integer N such that N is divisible by K, and N only contains the digit 1?
assistant
#Here is Python program to find the smallest positive integer N such that N is divisible by K, and N only contains the digit 1.

class Solution:
    def smallestRepunitDivByK(self, K: int) -> int:
        if K % 2 == 0 or K % 5 == 0: return -1
        r = 0
        for N in range(1, K + 1):
            r = (r * 10 + 1) % K
            if not r: return N