chatgpt是一个很强大的AI, 本文旨在解决如何提高提问效率, 来更好地让chatgpt解决问题

编码

  • ```
    优化[]中的文案, 扩充到500字
    [我国是一个美丽的国家]

    - 尽量使用英文提问- 设置简写: `接下来的对话, 如果我发送的内容是 again, 我的意思是 重新回答这一问题`- **编写代码**

    用 {编程语言} 实现:{描述需要实现的功能}

    - 要求越详细越好- **正则表达式**

    正则表达式:{描述需要实现的功能}

    - 例子:

    正则表达式:大于0的正整数

    - **评审代码**

    Review code and explain in Chinese

    - **检查代码出错原因**

    Check the cause of the code error and explain in Chinese

    - **重构/优化代码**  - 重构代码

    refactor the code

    - 重构代码,以 vimdiff 格式展示更改的内容,并解释更改的内容

    Refactor the code to present the changes in vimdiff format and explain the changes in Chinese

    - **生成接口文档**

    Generate markdown API Chinese documentation

    ### 测试---- **添加单元测试**

    Adding unit tests

    - **生成 Mock 数据**

    Generate data in json format

    - 例子:

    Generate data in json format

    interface AComponent {
    id: string;
    name: string;
    bComponent: BComponent;
    }
    interface BComponent {
    id: string;
    name: string;
    }

    下面举几个例子:## 编程我们可以让chatgpt写各种常见不常见的算法题, 只要题目描述足够清楚, chatgpt大概率能够AC

c++编程题:对于一个长度为 n 的序列 a1,a2,…,an,所有前缀的中位数是多少?
第一行一个正整数 t(1≤t≤10),表示数据组数。
对于每组数据,第一行一个正奇数 n(1≤n≤100000),含义同题目描述。
第二行 n 个整数 a1, a2, …, an(0≤ai≤100000),含义同题目描述。
对于每组数据,输出一行 (n + 1)/2 个整数,第 i 个数表示长度为 2*i−1 的前缀的中位数。直接给出你的代码

下面是chatgpt的答案```cpp#include using namespace std;const int N = 100005;int n, t, a[N];multiset s;multiset::iterator it;int main() {    cin >> t;    while (t--) {        cin >> n;        for (int i = 0; i < n; i++) {            cin >> a[i];            s.insert(a[i]);            if (i & 1) {                it = s.begin();                advance(it, (i + 1) / 2 - 1);                cout << *it << " ";            } else {                it = s.begin();                advance(it, i / 2);                int x = *it;                it = s.end();                advance(it, -i / 2 - 1);                int y = *it;                cout << (x + y) / 2 << " ";            }        }        cout << endl;        s.clear();    }    return 0;}

修改代码

我们在上机的时候, 代码是会查重的如果我们又想抄同学的代码, 又不想被查重, 就可以让chatgpt修改代码. 需要注意的是, 小打小闹地改变量, for换成while是没用的. 如果代码里有很多函数, 我们可以让chatgpt把函数都写到main函数里, 反之亦然. 如果代码是递归的, 我们可以让chatgpt改成迭代的.

#include #define N 100010using namespace std;int t, n;int a[N];int tree[4 * N];void add(int p, int l, int r, int x) {    if (l == r) {        tree[p]++;        return;    }    int mid = (l + r) / 2;    if (x <= mid) add(2 * p, l, mid, x);    else add(2 * p + 1, mid + 1, r, x);    tree[p] = tree[2 * p] + tree[2 * p + 1];}int query(int p, int l, int r, int x) { // 查第x大    if (l == r) return l;    int mid = (l + r) / 2;    if (x <= tree[2 * p]) return query(2 * p, l, mid, x);    else return query(2 * p + 1, mid + 1, r, x - tree[2 * p]);}int main() {    scanf("%d", &t);    while (t--) {        scanf("%d", &n);        memset(tree, 0, sizeof(tree));        for (int i = 1; i <= n; i++) scanf("%d", &a[i]);        for (int i = 1; i <= n; i++) {            add(1, 0, 100000, a[i]);            if (i % 2) {                printf("%d ", query(1, 0, 100000, i / 2 + 1));            }        }        printf("\n");    }    return 0;}

我们想把其他代码都写入主函数, 或者把递归改成迭代

// 迭代#include #define N 100010using namespace std;int t, n;int a[N];int tree[4 * N];void add(int p, int l, int r, int x) {while (l < r) {int mid = (l + r) / 2;if (x <= mid) {r = mid;p = 2 * p;} else {l = mid + 1;p = 2 * p + 1;}tree[p]++;}tree[p]++;}int query(int p, int l, int r, int x) {while (l < r) {int mid = (l + r) / 2;if (x <= tree[2 * p]) {r = mid;p = 2 * p;} else {l = mid + 1;x -= tree[2 * p];p = 2 * p + 1;}}return l;}int main() {scanf("%d", &t);while (t--) {scanf("%d", &n);memset(tree, 0, sizeof(tree));for (int i = 1; i <= n; i++) scanf("%d", &a[i]);for (int i = 1; i <= n; i++) {add(1, 0, 100000, a[i]);if (i % 2) {printf("%d ", query(1, 0, 100000,))

文案

  • 扩写一下这段话,加入一些例子和金句:我国是历史悠久的国家。要求提示越多越好
  • 把下面这段话,改写成100字以内的摘要
  • 校对下面这段话
  • 也可以让它检查你英语的语法和用词, 甚至可以让它对你的句子进行修改, 给出更高级地道的表达
  • 翻译: 感觉没有google translate好

阅读

这是一个神奇的功能, 我们可以通过chatgpt来阅读

作为一种在多样化的文本数据集上训练的语言模型,ChatGPT能够理解和总结 2021 年之前几乎所有书籍的内容。凭借其先进的自然语言处理能力,ChatGPT可以将冗长的作品压缩成易于消化的信息块,提供您可以快速轻松地学习一本书的要点。

这听起来很难理解, 我举一个例子:

比如我想阅读Yuval Noah Harari 的《智人:人类简史》, 该书全面概述了从非洲智人出现到今天的人类历史。但是这本书超过500也, 对注意力愈发缺失的现代人是一个不小的挑战

我们可以对chatgpt输入: 列出尤瓦尔·诺亚·哈拉里 (Yuval Noah Harari) 的《智人:人类简史》一书的所有章节

Chatgpt

《智人:人类简史》一共有十章:起源智人社会智人革命智人帝国宗教革命科学革命工业革命政治革命知识革命现代革命请注意,本答案的知识截至日期为2021年,可能会存在更新版本。

比如我现在对”智人革命”一章感兴趣, 我可以让它展开说说

我:

深入研究“智人革命”一章并给出较长的内容描述,并提供该章的重点

Chatgpt

“智人革命”一章是《智人:人类简史》中的第三章,是关于智人(Homo sapiens)的起源和发展的重要章节。该章的重点包括:1.智人的起源:作者在这一章中探讨了智人如何诞生并在非洲蔓延。2.智人与其他人类物种的区别:作者在这一章中比较了智人与其他人类物种(如尼安德特人和半人猿)的差异,包括智力、语言和文化传承方面的差异。3.智人的迁徙:作者在这一章中描述了智人如何从非洲迁徙到全球其他地区。4.智人的文化创新:作者在这一章中探讨了智人如何创造了全新的文化,包括音乐、艺术、宗教和社会制度。5.智人对环境的影响:作者在这一章中描述了智人对环境的影响,包括对动物种群的影响和对生态系统的影响。总的来说,“智人革命”一章是一个关于智人起源、发展和影响的全面概述,是该书的重要章节之一。

比如我对第四点很有兴趣, 我就可以让它讲讲

我: 深入探讨“智人的文化创新”并给出较长的内容描述和要点

chatgpt

“智人的文化创新”是《智人:人类简史》中“智人革命”一章中的一个重要内容。该内容探讨了智人如何创造了全新的文化。下面是关于“智人的文化创新”的更详细的内容描述和要点:智人的语言能力:智人的语言能力是其创造文化的关键因素。语言不仅允许智人将想法和信息传递给他人,还允许他们进行抽象思维。智人的艺术:智人创造了各种形式的艺术,如音乐、绘画、雕塑和剧场。艺术不仅是智人表现自己的情感和思想的方式,还是他们建立起文化传承的重要工具。智人的宗教:智人创造了各种不同的宗教,包括基督教、伊斯兰教、佛教和犹太教等。宗教不仅是智人对自然界和生活意义的探索,还是他们社会组织的重要因素。智人的社会制度:智人创造了各种不同的社会制度,如皇权制度、共和制度和民主制度。社会制度不仅决定了智人的社会地位和权力关系,还是他们经济活动的重要框架。总的来说,“智人的文化创新”一章讲述了智人如何通过语言、艺术、宗教和社会制度等创造了人类文化。这些文化创新是智人不断探索、表现和组织自己的生活的结果,是人类文化发展的重要标志。因此,“智人的文化创新”一章的重点是强调智人的创造力和创新能力。

除此之外, 如果我们在阅读过程中产生问题, 也可以用chatgpt进行提问

这样,我们就可以更深入地了解本书及其主要论点,而无需花费数小时通读整篇文章。