当前位置:   article > 正文

GPT-3.5解答ZOJ问题实录_python你的任务是计算a+b. 输入将由一对整数a和b组成,用空格分隔,每行一对整数。

python你的任务是计算a+b. 输入将由一对整数a和b组成,用空格分隔,每行一对整数。

GPT-3.5解答ZOJ问题实录


前言

在网上找到一个GPT-3.5的app,尝试了一下用人工智能解答ZOJ问题。对话和GPT-3.5给出的解答记录如下:

1001 A + B Problem

问:用python编程:计算a+b,输入由一系列整数对a和b组成,用空格隔开,每行一对整数。输出的格式为:对于每对输入的整数a和b,你应该在一行中输出a和b的和,并且输入中的每一行都有一行输出。
答:以下是使用 Python 实现计算 “a + b”,并输出每组数据的格式。

while True:
    try:
        a, b = map(int, input().split())
        print(a + b)
    except:
        break
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

提交到ZOJ结果:

TestCaseResult:
Name	Result	Time(ms)	Memory(KB)
0	Accepted	18	2816
1	Accepted	17	2832
  • 1
  • 2
  • 3
  • 4

1016 Parencodings

个人评价:这道题问题的描述比较复杂,尝试了几次发现如果问的过于笼统,GPT-3.5无法正确理解,则难以给出正确答案,因此把整个问题分解成几个小问题:

问1:设S是一个括号字符串,长度为2n,包含n个左括号和n个右括号。现在要把S转换成整数序列P,P的长度为n,P中的第i个整数是S中第i个右括号之前的左括号数量之和。请用python编写一个程序解答这个问题。要求包含测试代码。从左到右顺序读S中的字符,用一个计数器变量累加碰到的左括号数量,碰到右括号则输出。要求输出时将list转变成string,以空格分隔。

  • 答:以下是题目的 Python 代码解答:
def to_p(s):
    n = len(s) // 2
    p = [0] * n
    count = 0
    j = 0
    for i in range(len(s)):
        if s[i] == '(':
            count += 1
        elif s[i] == ')':
            p[j] = count
            j += 1
    return ' '.join([str(x) for x in p])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/739602
推荐阅读
相关标签
  

闽ICP备14008679号