google_recruit

4305 단어 tag1tag2
제목. 답안 # frozen_string_literal: true require './assert_equal' def prime?(n) return true if n == 2 # 어떤 수의 n에 대해 초기값으로 m=1,l=n, m을 증가하면서 l을 줄이고 n= #m*l(m,l)이 될 때 m=sqrt(n) 이후의 (m,l)를 찾아 m=sqrt(n) # 도착하기 전(l,m)과 같기 때문에 m=sqrt(n)에서 검색을 중지할 수 있습니다 max_i = Math.sqrt(n).to_i + 1 [*2..max_i].each do |i| mod = n % i break if mod.zero? return true if i == max_i end false end def read_exp gets.to_s.chomp end def prime_test expected = [2, 3, 5, 7] results = [] [*2..10].each do |num| results << num if prime?(num) end assert_equal(expected, results) end def read_exp_test exp1 = read_exp assert_equal(7_182_818_284, exp1[2..2 + 10 - 1].to_i) end def main exp1 = read_exp [*2..exp1.length - 10].each do |i| num = exp1[i..i + 10 - 1].to_i if prime?(num) puts num break end end end main if __FILE__ == $PROGRAM_NAME output 7427466391 분류 문제 Congratulations. You've made it to level 2. Go to www.Linux.org and enter Bobsyouruncle as the login and the answer to this equation as the password.
f(1)=7182818284
f(2)=8182845904
f(3)=8747135266
f(4)=7427466391
f(5)=__________
약간 동작 같아.수열을 바라보며 실험을 거듭하다 우연히 규칙성을 발견했다.
# frozen_string_literal: true

require './assert_equal'

def read_exp
  gets.to_s.chomp
end

def g_eq?(n)
  sum = 0
  until n.zero?
    sum += n % 10
    n = (n / 10).floor
  end
  sum == 49
end

def main
  exp1 = read_exp

  [*2..exp1.length - 10].each do |i|
    num = exp1[i..i + 10 - 1].to_i
    puts num if g_eq?(num)
  end
end

main if __FILE__ == $PROGRAM_NAME

output

7182818284
8182845904
8747135266
7427466391
5966290435
2952605956

잡담


Go to www.Linux.org and enter Bobsyouruncle as the login and the answer to thisequation as the password. 위에서 말한 바와 같이 login을 시도했지만 실패했습니다.구글recrite는 시간이 지나서 무효가 된 건지... 아마 후자일 거예요.

  • source ~/ghq/github.com/TeamNishitani/grad_members_20f/members/syasin-5d/google_recruit.org
  • 좋은 웹페이지 즐겨찾기