을 더한 게 7로 나눠지면 7의 배수이다.
1001을 통해 증명가능하다.
우선 6k+2까지만 보면
100a + 10b + c = 0 mod 7
2a + 3b + c = 0 mod 7
6k+345는 1001이 7의 배수인 것을 이용해서 증명
1001(100a + 10b + c) - 100a - 10b - c = 0 mod 7
-3a-2b-c = 0 mod 7
반복...
def check?(i)
data = [1,3,2]
@test = -1
i.to_s.chars.reverse.map.with_index do |c, index|
c.to_i * data[index % 3]
end.inject(:+) % 7 == 0
end
a=0
1.upto(3000000) do |i|
a=i
if i % 7 == 0
p "yes no #{i}" unless check?(i)
elsif check?(i)
p "no yes #{i}"
end
end
로 답을 확인 가능하다.
NOTE: data부분 배열 잘못됨