前言
持续更新了
正文
问题来源
本问题来自leetcode上的1015题。
问题描述
给定正整数 K,你需要找出可以被 K 整除的、仅包含数字 1 的最小正整数 N。
返回 N 的长度。如果不存在这样的 N,就返回 -1。
示例 1:
输入:1
输出:1
解释:最小的答案是 N = 1,其长度为 1。
示例 2:
输入:2
输出:-1
解释:不存在可被 2 整除的正整数 N 。
示例 3:
输入:3
输出:3
解释:最小的答案是 N = 111,其长度为 3。
分析:
func smallestRepunitDivByK(K int) int {
if K % 2 == 0 || K % 5 == 0 {
return -1
}
a := 1
count := 1
for {
if a % K == 0 {
break
}
a = a % K *10 + 1
count++
}
return count
}
总结:
勤思考。
结语
不管怎么样好好加油。