Skip to content

Latest commit

 

History

History
275 lines (271 loc) · 5.96 KB

File metadata and controls

275 lines (271 loc) · 5.96 KB

Results of GPT-3.5 on HumanEval/46

Date: 18 July, 2023
Model: gpt-3.5-turbo
Temperature: 0.2
Passing runs: 10
Total runs: 10
Success rate: 100%

Prompt

Tokens: 197

def fib4(n: int):
    """The Fib4 number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
    fib4(0) -> 0
    fib4(1) -> 0
    fib4(2) -> 2
    fib4(3) -> 0
    fib4(n) -> fib4(n-1) + fib4(n-2) + fib4(n-3) + fib4(n-4).
    Please write a function to efficiently compute the n-th element of the fib4 number sequence.  Do not use recursion.
    >>> fib4(5)
    4
    >>> fib4(6)
    8
    >>> fib4(7)
    14
    """

The above is an incomplete Python code fragment. Return the complete and correct code with no additional text.

Correct solution

def fib4(n: int):
    """The Fib4 number sequence is a sequence similar to the Fibbonacci sequnece that's defined as follows:
    fib4(0) -> 0
    fib4(1) -> 0
    fib4(2) -> 2
    fib4(3) -> 0
    fib4(n) -> fib4(n-1) + fib4(n-2) + fib4(n-3) + fib4(n-4).
    Please write a function to efficiently compute the n-th element of the fib4 number sequence.  Do not use recursion.
    >>> fib4(5)
    4
    >>> fib4(6)
    8
    >>> fib4(7)
    14
    """results = [0, 0, 2, 0]
    if n < 4:
        return results[n]

    for _ in range(4, n + 1):
        results.append(results[-1] + results[-2] + results[-3] + results[-4])
        results.pop(0)

    return results[-1]

Unit tests

METADATA = {}


def check(candidate):
    assert candidate(5) == 4
    assert candidate(8) == 28
    assert candidate(10) == 104
    assert candidate(12) == 386

Runs

✅ Run 1

Start time: 2023-07-18 17:21:12
Duration: 4.85s
Completion tokens: 117
Result: Pass

def fib4(n: int):
    if n == 0:
        return 0
    elif n == 1:
        return 0
    elif n == 2:
        return 2
    elif n == 3:
        return 0
    else:
        fib = [0, 0, 2, 0]
        for i in range(4, n+1):
            fib.append(fib[i-1] + fib[i-2] + fib[i-3] + fib[i-4])
        return fib[n]

✅ Run 2

Start time: 2023-07-18 17:21:07
Duration: 4.93s
Completion tokens: 117
Result: Pass

def fib4(n: int):
    if n == 0:
        return 0
    elif n == 1:
        return 0
    elif n == 2:
        return 2
    elif n == 3:
        return 0
    else:
        fib = [0, 0, 2, 0]
        for i in range(4, n+1):
            fib.append(fib[i-1] + fib[i-2] + fib[i-3] + fib[i-4])
        return fib[n]

✅ Run 3

Start time: 2023-07-18 17:21:02
Duration: 4.98s
Completion tokens: 117
Result: Pass

def fib4(n: int):
    if n == 0:
        return 0
    elif n == 1:
        return 0
    elif n == 2:
        return 2
    elif n == 3:
        return 0
    else:
        fib = [0, 0, 2, 0]
        for i in range(4, n+1):
            fib.append(fib[i-1] + fib[i-2] + fib[i-3] + fib[i-4])
        return fib[n]

✅ Run 4

Start time: 2023-07-18 17:20:58
Duration: 4.82s
Completion tokens: 117
Result: Pass

def fib4(n: int):
    if n == 0:
        return 0
    elif n == 1:
        return 0
    elif n == 2:
        return 2
    elif n == 3:
        return 0
    else:
        fib = [0, 0, 2, 0]
        for i in range(4, n+1):
            fib.append(fib[i-1] + fib[i-2] + fib[i-3] + fib[i-4])
        return fib[n]

✅ Run 5

Start time: 2023-07-18 17:20:53
Duration: 4.77s
Completion tokens: 117
Result: Pass

def fib4(n: int):
    if n == 0:
        return 0
    elif n == 1:
        return 0
    elif n == 2:
        return 2
    elif n == 3:
        return 0
    else:
        fib = [0, 0, 2, 0]
        for i in range(4, n+1):
            fib.append(fib[i-1] + fib[i-2] + fib[i-3] + fib[i-4])
        return fib[n]

✅ Run 6

Start time: 2023-07-18 17:20:49
Duration: 3.6s
Completion tokens: 117
Result: Pass

def fib4(n: int):
    if n == 0:
        return 0
    elif n == 1:
        return 0
    elif n == 2:
        return 2
    elif n == 3:
        return 0
    else:
        fib = [0, 0, 2, 0]
        for i in range(4, n+1):
            fib.append(fib[i-1] + fib[i-2] + fib[i-3] + fib[i-4])
        return fib[n]

✅ Run 7

Start time: 2023-07-18 17:20:44
Duration: 4.83s
Completion tokens: 117
Result: Pass

def fib4(n: int):
    if n == 0:
        return 0
    elif n == 1:
        return 0
    elif n == 2:
        return 2
    elif n == 3:
        return 0
    else:
        fib = [0, 0, 2, 0]
        for i in range(4, n+1):
            fib.append(fib[i-1] + fib[i-2] + fib[i-3] + fib[i-4])
        return fib[n]

✅ Run 8

Start time: 2023-07-18 17:20:39
Duration: 4.81s
Completion tokens: 117
Result: Pass

def fib4(n: int):
    if n == 0:
        return 0
    elif n == 1:
        return 0
    elif n == 2:
        return 2
    elif n == 3:
        return 0
    else:
        fib = [0, 0, 2, 0]
        for i in range(4, n+1):
            fib.append(fib[i-1] + fib[i-2] + fib[i-3] + fib[i-4])
        return fib[n]

✅ Run 9

Start time: 2023-07-18 17:20:34
Duration: 4.8s
Completion tokens: 124
Result: Pass

def fib4(n: int):
    if n == 0:
        return 0
    elif n == 1:
        return 0
    elif n == 2:
        return 2
    elif n == 3:
        return 0
    else:
        fib_list = [0, 0, 2, 0]
        for i in range(4, n+1):
            fib_list.append(fib_list[i-1] + fib_list[i-2] + fib_list[i-3] + fib_list[i-4])
        return fib_list[n]

✅ Run 10

Start time: 2023-07-18 17:20:30
Duration: 4.56s
Completion tokens: 117
Result: Pass

def fib4(n: int):
    if n == 0:
        return 0
    elif n == 1:
        return 0
    elif n == 2:
        return 2
    elif n == 3:
        return 0
    else:
        fib = [0, 0, 2, 0]
        for i in range(4, n+1):
            fib.append(fib[i-1] + fib[i-2] + fib[i-3] + fib[i-4])
        return fib[n]