最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

[chatgpt4.0 for coding][藍(lán)橋杯pythonB組]AI輔助刷題 考前18天

2023-03-21 22:43 作者:Chowley  | 我要投稿

前言

好的ladies and gentlemen,今天就讓我們來(lái)測(cè)試一下chatgpt進(jìn)行人類編程比賽效果如何,試題我就選擇了藍(lán)橋杯官網(wǎng)上的一些真題,當(dāng)然AI給出的回答都帶有一些提示,我的作用就是刪除它,那么讓我們趕快開(kāi)始!

1、刪除字符

題目描述 給定一個(gè)單詞,請(qǐng)問(wèn)在單詞中刪除 t 個(gè)字母后,能得到的字典序最小的單詞是什么? 輸入描述 輸入的第一行包含一個(gè)單詞,由大寫英文字母組成。 第二行包含一個(gè)正整數(shù) t。 其中,單詞長(zhǎng)度不超過(guò) 100,t 小于單詞長(zhǎng)度。 輸出描述 輸出一個(gè)單詞,表示答案。

下面就是GPT4.0給出的回答和源碼啦,可以看出它還是蠻智能的誒,編寫了一個(gè)遞歸函數(shù),而且代碼格式也很規(guī)范,函數(shù)意思就是每次默認(rèn)第一個(gè)是最小,然后查找后面的t個(gè),有比他小的就把那個(gè)位置返回出去,然后減去已經(jīng)出去的字符數(shù),進(jìn)入下一次遞歸,說(shuō)實(shí)話一開(kāi)始看確實(shí)有點(diǎn)復(fù)雜,通過(guò)debug的方式,我找到了原因,因?yàn)槭亲值湫蜃钚?,并且不能改變字符位置,所以只要先把前面大的字符刪掉,確保現(xiàn)在留下的是前t個(gè)里面最小的就可以了,不得不感嘆,這..就是AI啊

OK 然后來(lái)個(gè)人類解法,巧用切片

s=input()

n=int(input())

for i in range(n)://刪去n個(gè)

? for j in range(len(s)-1)://從第一個(gè)開(kāi)始

? ? if ord(s[j])>ord(s[j+1])://比后面大就把它剪了

? ? ? s=s[0:j]+s[j+1:]

? ? ? break//下次循環(huán)

? else://如果前面就是按順序的,就把尾巴剪了

? ? s=s[0:len(s)-1]//切片這東西,s[a:b]b會(huì)被剪掉

print(s)

OK,第一題GPT4不負(fù)眾望

2、奇數(shù)倍數(shù)

請(qǐng)你找到最小的整數(shù) X 同時(shí)滿足: X 是 2019 的整倍數(shù); X 的每一位數(shù)字都是奇數(shù)。

GPT4.0:

def all_digits_odd(number):

? ? digits = str(number)

? ? for digit in digits:

? ? ? ? if int(digit) % 2 == 0:

? ? ? ? ? ? return False

? ? return True


def find_min_x():

? ? x = 2019

? ? while True:

? ? ? ? if all_digits_odd(x):

? ? ? ? ? ? return x

? ? ? ? x += 2019


if __name__ == "__main__":

? ? min_x = find_min_x()

? ? print("滿足條件的最小整數(shù)X為:", min_x)

人類男性:

for i in range(2019,99999999999,4038):

? if str(i).count('2') == str(i).count('4')== str(i).count('6')== str(i).count('8')== str(i).count('0') == 0:

? ? print(i)

? ? break

時(shí)間上主打一個(gè)碾壓,GPT快了10倍,感覺(jué)現(xiàn)在不找工作 過(guò)兩年就回家啃老吧

3、地雷

題目描述在一個(gè) n 行 m 列的方格圖上有一些位置有地雷,另外一些位置為空。

請(qǐng)為每個(gè)空位置標(biāo)一個(gè)整數(shù),表示周圍八個(gè)相鄰的方格中有多少個(gè)地雷。

輸入描述輸入的第一行包含兩個(gè)整數(shù) n,m。

第 2 行到第 n+1 行每行包含 m 個(gè)整數(shù),相鄰整數(shù)之間用一個(gè)空格分隔。如果對(duì)應(yīng)的整數(shù)為 0,表示這一格沒(méi)有地雷。如果對(duì)應(yīng)的整數(shù)為 1,表示這一格有地雷。

其中,1≤n,m≤100 分鐘后還是在當(dāng)天。

輸出描述輸出 n 行,每行 m 個(gè)整數(shù),相鄰整數(shù)之間用空格分隔。

對(duì)于沒(méi)有地雷的方格,輸出這格周圍的地雷數(shù)量。對(duì)于有地雷的方格,輸出 9。

GPT4.0


def count_mines(grid, n, m, i, j):

? ? count = 0

? ? for x in range(i - 1, i + 2):

? ? ? ? for y in range(j - 1, j + 2):

? ? ? ? ? ? if 0 <= x < n and 0 <= y < m and grid[x][y] == 1:

? ? ? ? ? ? ? ? count += 1

? ? return count

def main():

? ? n, m = map(int, input().split())

? ? grid = [list(map(int, input().split())) for _ in range(n)]

? ? for i in range(n):

? ? ? ? for j in range(m):

? ? ? ? ? ? if grid[i][j] == 1:

? ? ? ? ? ? ? ? print(9, end=" ")

? ? ? ? ? ? else:

? ? ? ? ? ? ? ? print(count_mines(grid, n, m, i, j), end=" ")

? ? ? ? print()

if __name__ == "__main__":

? ? main()

解釋?程序首先讀取輸入的n和m,然后讀取方格圖。接下來(lái),程序使用count_mines函數(shù)計(jì)算每個(gè)空位置周圍的地雷數(shù)量。最后,程序輸出結(jié)果,對(duì)于沒(méi)有地雷的方格,輸出周圍的地雷數(shù)量;對(duì)于有地雷的方格,輸出9。?

用時(shí):1min?

Human:

n,m=map(int,input().split())

matrix=[list(map(int,input().split())) for _ in range(n)]

for i in range(n):

? for j in range(m):

? ? if matrix[i][j]==1: print(9,end=" ")

? ? else:

? ? ? ans=0

? ? ? for x in range(i-1,i+2):

? ? ? ? for y in range(j-1,j+2):

? ? ? ? ? if 0<=x<n and 0<=y<m and matrix[x][y]==1:

? ? ? ? ? ? ans+=1

? ? ? print(ans,end=" ")

? print()

84min....還是得用def,切記呀,如果有功能還是優(yōu)先寫函數(shù),這是計(jì)算機(jī)科班第一反應(yīng)!

4、紙張尺寸

問(wèn)題描述在 ISO 國(guó)際標(biāo)準(zhǔn)中定義了 A0 紙張的大小為 1189mm × 841mm, 將 A0 紙 沿長(zhǎng)邊對(duì)折后為 A1 紙, 大小為 841mm × 594mm, 在對(duì)折的過(guò)程中長(zhǎng)度直接取 下整 (實(shí)際裁剪時(shí)可能有損耗)。將 A1 紙沿長(zhǎng)邊對(duì)折后為 A2 紙, 依此類推。

輸入紙張的名稱, 請(qǐng)輸出紙張的大小。

輸入格式輸入一行包含一個(gè)字符串表示紙張的名稱, 該名稱一定是 A0、A1、A2、 A3、A4、A5、A6、A7、A8、A9 之一。

輸出格式輸出兩行,每行包含一個(gè)整數(shù),依次表示長(zhǎng)邊和短邊的長(zhǎng)度。

Human

l=1189

w=841

i=0

s=input()

n=int(s[-1])

for i in range(n):

? l,w=w,l//2

print(l)

print(w)

solution: 找規(guī)律,當(dāng)然手算很穩(wěn)

time: 2

GPT4.0

def paper_size(paper_name):

? ? a0_width = 1189

? ? a0_height = 841


? ? n = int(paper_name[1:])

? ? for _ in range(n):

? ? ? ? a0_width, a0_height = a0_height, a0_width // 2


? ? return a0_width, a0_height


def main():

? ? paper_name = input().strip()

? ? width, height = paper_size(paper_name)

? ? print(width)

? ? print(height)


if __name__ == "__main__":

? ? main()

solution: 程序首先定義了一個(gè)函數(shù)paper_size,它接收紙張的名稱作為參數(shù)。main函數(shù)讀取輸入的紙張名稱,然后調(diào)用paper_size函數(shù)獲取紙張的長(zhǎng)邊和短邊長(zhǎng)度。最后,程序輸出這兩個(gè)長(zhǎng)度。time: 1min

結(jié)語(yǔ)

寫了4道題,可以說(shuō),GPT4.0已經(jīng)站在百分之五十的程序員身上向前走了,時(shí)不待我,別再過(guò)兩年題還沒(méi)讀完,AI結(jié)果都輸出了,這次的簡(jiǎn)單題型測(cè)試就到這里了,如果喜歡的人多的話,下次我們來(lái)測(cè)試中級(jí)題目GPT效果如何,我是Chowley,只爭(zhēng)朝夕!

[chatgpt4.0 for coding][藍(lán)橋杯pythonB組]AI輔助刷題 考前18天的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
林周县| 大渡口区| 亳州市| 西吉县| 湘西| 汉川市| 临朐县| 连江县| 新密市| 泰州市| 涿鹿县| 双柏县| 珠海市| 江山市| 军事| 英吉沙县| 龙陵县| 咸宁市| 闵行区| 金塔县| 平原县| 托克托县| 和平区| 太保市| 竹溪县| 迁西县| 泽普县| 阜南县| 靖州| 棋牌| 资阳市| 康平县| 同仁县| 长海县| 千阳县| 嘉禾县| 奇台县| 枣强县| 上林县| 柏乡县| 柳江县|