我理解该错误,但仍然不知道如何将i
强制转换为u32/integer
。
let n = 2;
for i in [1..10].into_iter() {
if n % i == 0 {
...
}
}
if n % (i as u32) == 0
不起作用
帮助:尚未为
std::ops::Rem<&std::ops::Range<{integer}>>
实现特征{integer}
答案 0 :(得分:4)
在您的代码中,[1..10]
实际上是一个固定大小的数组,范围为1..10
作为其唯一元素。您要迭代范围本身而不是该1元素数组:
let n = 2;
for i in 1..10 {
if n % i == 0 {
...
}
}