Tricky Google interview question

前端 未结 21 1716
花落未央
花落未央 2020-12-22 15:39

A friend of mine is interviewing for a job. One of the interview questions got me thinking, just wanted some feedback.

There are 2 non-negative integers: i and j. Gi

21条回答
  •  情书的邮戳
    2020-12-22 16:19

    I know I am likely wrong but there is a very simple heuristic here since it does not involve many numbers like 2,3,5. We know that for any i,j 2^i * 5^j next sequence would be 2^(i-2) * 5^(j+1). Being a google q it must have a simple solution.

    def func(i, j):
     print i, j, (2**i)*(5**j)
    
    imax=i=2
    j=0
    print "i", "j", "(2**i)*(5**j)"
    
    for k in range(20):
        func(i,j)
        j=j+1; i=i-2
        if(i<0):
            i = imax = imax+1
            j=0
    

    This produces output as :

    i j (2**i)*(5**j)
    2 0 4
    0 1 5
    3 0 8
    1 1 10
    4 0 16
    2 1 20
    0 2 25
    5 0 32
    3 1 40
    1 2 50
    6 0 64
    4 1 80
    2 2 100
    0 3 125
    7 0 128
    5 1 160
    3 2 200
    1 3 250
    8 0 256
    6 1 320
    

提交回复
热议问题