返回

图书馆的邀请与黑色的警告

首页
关灯
护眼
字:
上一章 回目录 下一页 进书架
最新网址:wap.qiqixs.info
    傍晚六点五十分,林澈提前十分钟到了图书馆三楼。

    这个时间的自习室人还不多,日光灯刚刚亮起,在深色木桌上投下清冷的光。空气里有旧书、灰尘和隐约咖啡的味道。他选了靠窗的位置——那是前世他习惯坐的地方,抬头就能看到窗外暮色渐沉的天际线。

    他从书包里拿出《高等数学》和草稿本,想了想,又拿出《C语言程序设计》。程序员的习惯让他在规划时间时总是下意识地留出冗余:如果给苏雨薇讲题只用半小时,剩下的时间可以预习下周的编程课。

    然而翻开《C语言》第一章,他就愣住了。

    那些曾经让他熬夜苦读的语法——指针、内存管理、数据结构——现在读起来就像小学算术一样简单。不是记忆的简单,而是理解的透彻。他能看到代码背后的逻辑骨架,能看到算法在计算机底层流动的轨迹。

    这种感觉很奇异。就像突然听懂了所有乐器的交响,看到了数学公式在现实世界投射的阴影。

    他翻到书后的习题,随手在草稿纸上写下一段代码:

    ```c

    #include

    #include

    // 实现一个简易的哈希表

    typedef struct Node {

    int key;

    int value;

    struct Node* next;

    } Node;

    typedef struct HashTable {

    int size;

    Node** table;

    } HashTable;

    HashTable* createHashTable(int size) {

    HashTable* ht = (HashTable*)malloc(sizeof(HashTable));

    ht->size = size;

    ht->table = (Node**)malloc(sizeof(Node*) * size);

    for(int i = 0; i table[i] = NULL;

    }

    return ht;

    }

    int hash(int key, int size) {

    return key % size;

    }

    void insert(HashTable* ht, int key, int value) {

    int index = hash(key, ht->size);

    Node* newNode = (Node*)malloc(sizeof(Node));

    newNode->key = key;

    newNode->value = value;

    newNode->next = ht->table[index];

    ht->table[index] = newNode;

    }

    int find(HashTable* ht, int key) {

    int index = hash(key, ht->size);

    Node* current = ht->table[index];

    while(current != NULL) {

    if(current->key == key) {

    return current->value;

    }

    current = current->next;

    }

    return -1; // 未找到

    }

    void freeHashTable(HashTable* ht) {

    for(int i = 0; i size; i++) {

    Node* current = ht->table[i];

    while(current != NULL) {

    Node* temp = current;

    current = current->next;

    free(temp);

    }

    }

    free(ht->table);

    free(ht);

    }

    ```

    写完最后一个分号,林澈看着满页的代码,手微微发抖。

    这已经不是“大一学生”的水平了。这是工作三年、写过几十万行代码、重构过复杂系统的工程师才有的肌肉记忆。

    笔迹流畅,变量命名规范,内存管理严谨,连注释都是他习惯的格式——用英文,简洁,关键处解释算法思路而不是重复代码。

    他撕下这一页,揉成团,塞进书包深处。太危险了。如果被别人看到,解释不清。

    “林澈?”

    苏雨薇的声音从身后传来。他转头,看到她站在两排书架之间,背着浅蓝色的双肩包,头发扎成马尾,有几缕碎发落在颈边。

    “你来得真早。”她走过来,在对面坐下。

    “习惯了。”林澈合上《C语言》,“吃过饭了吗?”

    “吃了食堂的盖浇饭。”她从包里拿出笔记本和试卷,“我把今天那道题的步骤抄下来了,但还是不懂怎么想到要构造那个函数。”

    林澈接过她的笔记本。字迹清秀工整,每个步骤都写得清清楚楚,但在关键步骤旁边打了个问号。

    “这里,”他用笔尖指着她笔记上的第三步,“你卡在怎么消去$f(1)$,对吧?”

    苏雨薇点头,身体微微前倾。

    林澈开始讲解。他刻意放慢语速,用她能理解的方式解释:为什么要构造辅助函数,罗尔定理的使用条件,如何巧妙地把未知的$f(1)$设计成可以消去的参数。

    讲着讲着,他忽然意识到,自己不只是在前世记忆的层面理解这道题,而是在一个更高的维度上看到了数学的结构美。他能同时想到三种解法,能预见苏雨薇可能困惑的每一个点,能在她皱眉的瞬间调整讲解的角度。

    这感觉……像开了上帝视角。

    “我懂了!”苏雨薇忽然说,眼睛亮起来,“你是说,我们构造的$\varphi(x)$实际上是把原问题转化成了一个更简单的问题——找罗尔定理的适用条件!”

    “对。”林澈有些惊讶于她的领悟速度。前世,苏雨薇的数学并不算顶尖,但显然她很聪明,只是缺乏引导。

    “你真厉害。”她轻声说,脸微微红了,“赵老师说得没错。”

    林澈心头一紧:“赵老师说什么了?”

    “下午你走后,张涛他们议论,说你可能是作弊了。”苏雨薇的声音低下来,“但赵老师说,这种题没有标准答案可抄,能解出来就是真本事。”

    林澈沉默。赵建国这是在保护他。

    “还有,”苏雨薇犹豫了一下,“赵老师让我转告你,数学建模小组的选拔改时间了,改到这周三晚上七点,地点在理学院301。”

    “周三?”林澈算了下时间,就是后天。

    “嗯。他说让你务必参加,但……”她顿了顿,“但别表现得太突出。”

    这句话意味深长。赵建国在提醒他藏拙。

    “我知道了,谢谢。”

    窗外天色完全暗了下来,图书馆的灯光在玻璃上反射出模糊的倒影。自习室的人渐渐多了起来,有情侣低声说话,有考研党在翻厚厚的参考书,键盘敲击声和翻书声混合成一种令人安心的白噪音。

    “你以后想做什么?”苏雨薇忽然问。

    这个问题让林澈愣住了。前世,他的答案很俗套:进大厂,拿高薪,在大城市买房。但现在的他,知道七年后的自己会猝死在工位上。

    “不知道。”他诚实地说,“可能……做点有意义的事。”

    “有意义的事?”

    “比如,用技术解决实际问题。”林澈说,脑中闪过比特币、人工智能、还有那些他曾经想做但没机会做的项目,“而不是只写业务代码。”

    苏雨薇看着他,眼神里有某种欣赏:“你和其他人不一样。”

    “哪里不一样?”

    “他们想的是找工作、考研、出国。”她说,“但你想的是……改变什么。”

    林澈苦笑。如果她知道自己是死过一次的人,大概就不会这么想了。

    “你呢?”他反问。

    “我想做教育。”苏雨薇说,声音很轻但坚定,“我高中时数学很差,差点没考上大学。后来遇到一个好老师,他告诉我,数学不是天才的专利,只是需要正确的方法。所以我想,以后我也要当老师,帮助那些觉得自己学不好数学的学生。”

    林澈看着她。在柔和的灯光下,她的侧脸轮廓清晰,眼神清澈。前世,他只知道她是班花,是富家女,是很多人暗恋的对象。但现在,他看到了更深层的东西——理想,善意,还有坚韧。

    “你会是个好老师。”他说。

    苏雨薇笑了,那笑容很温暖。

    接下来的半小时,他们又讨论了几道题。林澈发现,苏雨薇的思维其实很敏捷,只是缺乏自信。一旦理解了基本原理,她就能举一反三。

    八点整,苏雨薇的手机震动。她看了一眼,脸色微变。

    “我得走了。”她匆忙收拾书包,“家里有点事。”

    “我送你到校门口?”

    “不用,我自己可以。”她站起来,犹豫了一下,“林澈,谢谢你今晚给我讲题。”

    “应该的。”

    她离开后,林澈重新翻开《C语言》。但这一次,他看不进去了。脑中反复回响赵建国的话:别表现得太突出。

    为什么?

    是因为怀疑他作弊?还是因为察觉到了什么异常?

    他想起下午办公室里的对话。赵建国问他解题思路是

    (本章未完,请点击下一页继续阅读)
最新网址:wap.qiqixs.info
上一章 回目录 下一页 存书签