Skip to content

Latest commit

 

History

History
312 lines (305 loc) · 7 KB

46.md

File metadata and controls

312 lines (305 loc) · 7 KB

Results of GPT-4 on HumanEval/46

Date: 18 July, 2023
Model: gpt-4
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 18:39:38
Duration: 12.64s
Completion tokens: 156
Result: Pass

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

# Test cases
print(fib4(5))  # 4
print(fib4(6))  # 8
print(fib4(7))  # 14

✅ Run 2

Start time: 2023-07-18 18:39:18
Duration: 19.92s
Completion tokens: 271
Result: Pass

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
    """
    if n == 0:
        return 0
    elif n == 1:
        return 0
    elif n == 2:
        return 2
    elif n == 3:
        return 0
    else:
        fib4_seq = [0, 0, 2, 0]
        for i in range(4, n+1):
            fib4_seq.append(sum(fib4_seq[-4:]))
        return fib4_seq[-1]

✅ Run 3

Start time: 2023-07-18 18:38:59
Duration: 18.34s
Completion tokens: 263
Result: Pass

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
    """
    if n == 0 or n == 1 or n == 3:
        return 0
    elif n == 2:
        return 2
    else:
        fib = [0, 0, 2, 0]
        for i in range(4, n + 1):
            fib.append(fib[-1] + fib[-2] + fib[-3] + fib[-4])
        return fib[-1]

✅ Run 4

Start time: 2023-07-18 18:38:47
Duration: 11.94s
Completion tokens: 136
Result: Pass

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

✅ Run 5

Start time: 2023-07-18 18:38:35
Duration: 11.99s
Completion tokens: 116
Result: Pass

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

✅ Run 6

Start time: 2023-07-18 18:38:27
Duration: 8.4s
Completion tokens: 109
Result: Pass

def fib4(n: int) -> int:
    if n < 2:
        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[-1] + fib[-2] + fib[-3] + fib[-4])
        return fib[-1]

✅ Run 7

Start time: 2023-07-18 18:38:13
Duration: 14.11s
Completion tokens: 149
Result: Pass

def fib4(n: int) -> 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(sum(fib[-4:]))
        return fib[-1]

# Test cases
print(fib4(5))  # 4
print(fib4(6))  # 8
print(fib4(7))  # 14

✅ Run 8

Start time: 2023-07-18 18:38:01
Duration: 11.21s
Completion tokens: 157
Result: Pass

def fib4(n: int) -> 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(sum(fib[-4:]))
        return fib[-1]

# Test cases
print(fib4(5))  # Expected output: 4
print(fib4(6))  # Expected output: 8
print(fib4(7))  # Expected output: 14

✅ Run 9

Start time: 2023-07-18 18:37:51
Duration: 10.21s
Completion tokens: 116
Result: Pass

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

✅ Run 10

Start time: 2023-07-18 18:37:40
Duration: 11.19s
Completion tokens: 116
Result: Pass

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