Skip to content

Latest commit

 

History

History
51 lines (40 loc) · 1.1 KB

File metadata and controls

51 lines (40 loc) · 1.1 KB

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

给定正整数 k ,你需要找出可以被 k 整除的、仅包含数字 1 的最 正整数 n 的长度。

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

注意: n 可能不符合 64 位带符号整数。

示例 1:

输入: k = 1
输出: 1
解释: 最小的答案是 n = 1,其长度为 1。

示例 2:

输入: k = 2
输出: -1
解释: 不存在可被 2 整除的正整数 n 。

示例 3:

输入: k = 3
输出: 3
解释: 最小的答案是 n = 111,其长度为 3。

提示:

  • 1 <= k <= 105

题解 (Rust)

1. 题解

impl Solution {
    pub fn smallest_repunit_div_by_k(k: i32) -> i32 {
        let mut rem = 0;

        for n in 1..=k {
            rem = (rem * 10 % k + 1 % k) % k;

            if rem == 0 {
                return n;
            }
        }

        -1
    }
}