7의 배수 증명

Seonghoon Kim·2022년 4월 21일
1
  • 6k: a(6k) * 1
  • 6k+1: a(6k+1) * 3
  • 6k+2: a(6k+2) * 2
  • 6k+3: a(6k+3) * -1
  • 6k+4: a(6k+4) * -3
  • 6k+5: a(6k+5) * -2

을 더한 게 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

로 답을 확인 가능하다.

1개의 댓글

comment-user-thumbnail
2022년 4월 21일

NOTE: data부분 배열 잘못됨

답글 달기