Skip to content

Latest commit

 

History

History
208 lines (206 loc) · 4.92 KB

File metadata and controls

208 lines (206 loc) · 4.92 KB

Results of GPT-3.5 on HumanEval/83

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

Prompt

Tokens: 70

def starts_one_ends(n):
    """
    Given a positive integer n, return the count of the numbers of n-digit
    positive integers that start or end with 1.
    """

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

Correct solution

def starts_one_ends(n):
    """
    Given a positive integer n, return the count of the numbers of n-digit
    positive integers that start or end with 1.
    """if n == 1: return 1
    return 18 * (10 ** (n - 2))

Unit tests

def check(candidate):

    # Check some simple cases
    assert True, "This prints if this assert fails 1 (good for debugging!)"
    assert candidate(1) == 1
    assert candidate(2) == 18
    assert candidate(3) == 180
    assert candidate(4) == 1800
    assert candidate(5) == 18000

    # Check some edge cases that are easy to work out by hand.
    assert True, "This prints if this assert fails 2 (also good for debugging!)"

Runs

❌ Run 1

Start time: 2023-07-18 17:15:16
Duration: 3.59s
Completion tokens: 86
Result: Fail

def starts_one_ends(n):
    """
    Given a positive integer n, return the count of the numbers of n-digit
    positive integers that start or end with 1.
    """
    count = 0
    if n == 1:
        return 1
    else:
        count += 9 * (10 ** (n-2))
        count += starts_one_ends(n-1)
    return count

❌ Run 2

Start time: 2023-07-18 17:15:12
Duration: 4.03s
Completion tokens: 89
Result: Fail

def starts_one_ends(n):
    """
    Given a positive integer n, return the count of the numbers of n-digit
    positive integers that start or end with 1.
    """
    count = 0
    if n == 1:
        count = 1
    elif n > 1:
        count = 9 * 10 ** (n-2) + starts_one_ends(n-1)
    return count

✅ Run 3

Start time: 2023-07-18 17:15:08
Duration: 3.65s
Completion tokens: 91
Result: Pass

def starts_one_ends(n):
    """
    Given a positive integer n, return the count of the numbers of n-digit
    positive integers that start or end with 1.
    """
    count = 0
    for i in range(10**(n-1), 10**n):
        if str(i)[0] == '1' or str(i)[-1] == '1':
            count += 1
    return count

✅ Run 4

Start time: 2023-07-18 17:15:05
Duration: 2.89s
Completion tokens: 59
Result: Pass

def starts_one_ends(n):
    count = 0
    for i in range(10**(n-1), 10**n):
        if str(i)[0] == '1' or str(i)[-1] == '1':
            count += 1
    return count

❌ Run 5

Start time: 2023-07-18 17:15:02
Duration: 3.7s
Completion tokens: 84
Result: Fail

def starts_one_ends(n):
    """
    Given a positive integer n, return the count of the numbers of n-digit
    positive integers that start or end with 1.
    """
    count = 0
    if n == 1:
        count = 1
    else:
        count = 9 * 10**(n-2) + starts_one_ends(n-1)
    return count

❌ Run 6

Start time: 2023-07-18 17:14:58
Duration: 3.82s
Completion tokens: 86
Result: Fail

def starts_one_ends(n):
    """
    Given a positive integer n, return the count of the numbers of n-digit
    positive integers that start or end with 1.
    """
    count = 0
    if n == 1:
        return 1
    else:
        count += 9 * (10 ** (n-2))
        count += starts_one_ends(n-1)
    return count

❌ Run 7

Start time: 2023-07-18 17:14:54
Duration: 3.47s
Completion tokens: 77
Result: Fail

def starts_one_ends(n):
    """
    Given a positive integer n, return the count of the numbers of n-digit
    positive integers that start or end with 1.
    """
    count = 0
    if n == 1:
        count = 1
    else:
        count = 9 * (10 ** (n-2))
    return count

✅ Run 8

Start time: 2023-07-18 17:14:51
Duration: 3.12s
Completion tokens: 59
Result: Pass

def starts_one_ends(n):
    count = 0
    for i in range(10**(n-1), 10**n):
        if str(i)[0] == '1' or str(i)[-1] == '1':
            count += 1
    return count

❌ Run 9

Start time: 2023-07-18 17:14:48
Duration: 3.27s
Completion tokens: 77
Result: Fail

def starts_one_ends(n):
    """
    Given a positive integer n, return the count of the numbers of n-digit
    positive integers that start or end with 1.
    """
    count = 0
    if n == 1:
        count = 1
    else:
        count = 9 * (10 ** (n-2))
    return count

✅ Run 10

Start time: 2023-07-18 17:14:45
Duration: 2.8s
Completion tokens: 59
Result: Pass

def starts_one_ends(n):
    count = 0
    for i in range(10**(n-1), 10**n):
        if str(i)[0] == '1' or str(i)[-1] == '1':
            count += 1
    return count