CC++ & Algorithm

每日分享

每天一篇有深度的编程知识文章

62 篇文章

没有 `break` 的 `switch`,反而更好用了?

如果你从 C 语言或 Java 转过来写 Python,第一次见到 match-case 时,可能会下意识地找 break 在哪。找了一圈没找到,然后心里一紧:这玩意儿会不会“穿透”啊? 放心,Python 的 match-case 不需要 break ,它匹配完一个分支就自动退出。这个设计让多路选择代码变得更干净,也更符合直觉。 自助餐模式:端着变量去“打菜” 想象你走...

2026年8月6日最新发布1 阅读👍 1Python match-case 语句

两根绳子,三下除法,就能算出最大公约数——辗转相除法到底妙在哪?

你有没有遇到过这种情况:手里有48颗糖,朋友有18颗糖,想把它们分成几堆,每堆数量一样、必须是整数、而且一颗都不能剩。你可能会从1开始试着除,试到18,发现最大能分成6颗一堆。可如果数字变成几百万呢?你还想一个个试吗? 两千多年前的欧几里...

2026年8月5日0 阅读👍 0辗转相除法——找两个数的最大公约数

你的程序为什么一遇到“烂路”就崩溃?来给它系上C++安全带

你有没有注意过,手机地图导航遇到前方施工,它会提前提醒你“减速慢行”,而不是直接黑屏死机?但很多初学C++的人写的程序,遇到除数为0、数组越界、文件打不开,就像一脚踩空摔下台阶——整个程序“啪”地一下没了,连个提示都不给。 这不是你代码写...

2026年8月4日4 阅读👍 1C++异常处理基础:try-catch

两把表,藏着同一道数学题

把两把秒表同时按下去,一把表盘只有18个刻度,另一把有27个刻度。然后盯着它们转——你猜,当小表转完一圈时,两把表的指针有多少次指向同一个刻度? 答案是18次。但这不是巧合,而是模运算在背后敲钟。 钟表是理解模运算最好的启蒙老师。表盘只...

2026年8月3日4 阅读👍 1Python同余与模运算

你以为电脑“同时干三件事”?真相是它在疯狂排队

你有没有遇到过这种情况:电脑上开着浏览器、音乐播放器、微信和编程软件,看起来一切井然有序,每当你切到某个窗口,它都“正好”响应你的操作。但你有没有想过,这些程序同时运行,它们怎么不打架?是谁在背后排班、分配资源、处理冲突? 答案不是CPU...

2026年8月2日2 阅读👍 0操作系统基础操作

一键反转的开关:为什么 `a ^ b ^ a` 总能变回你想要的答案?

调试了一个下午的加密逻辑,忽然发现数据还原不回来。我盯着那一行 data ^= key ,心想这算法明明写对了啊,怎么解密出来全是乱码?直到我在纸上老老实实推了一遍二进制,才猛地意识到问题不在密钥,而在表达式优先级太任性。就是那一次,我把...

2026年8月2日2 阅读👍 0C++按位异或 ^ 和按位取反 ~

大数除法不用慌:把竖式搬进 C++,几行代码解决“亿”点难题

你有没有想过,如果全校有 123456789 颗糖果,要平均分给 123 个班级,每班能分多少颗?手算要列一长串竖式,用计算器倒是快,但如果是更大的数——比如几百位的大整数,普通计算器根本装不下。这时候,C++ 里用字符串存大数,就能轻松搞...

2026年8月1日6 阅读👍 2高精度除法——用减法模拟长除法

递推,编程里那块最被低估的万能积木

编程里最强大的思想,往往不是那些高深的算法,而是像递推这样朴素到容易被忽略的思维方式。它不需要你懂什么数学天赋,也不涉及复杂的数据结构——只要你能回答两个问题: 起点是什么?下一步怎么走? 接下来,计算机就能替你完成所有重复劳动。 ...

2026年7月31日4 阅读👍 0Python递推思想

你的电脑里,藏着一个永远在加班的小人

你有没有过这样的瞬间:程序跑着跑着突然卡死了,风扇狂转,你盯着屏幕,感觉它比你还累。这时候如果你能钻进机箱,会看到一个芯片正在以每秒几十亿次的频率重复着“取指令、干活、存结果”的动作。它没有休息,没有怨言,甚至在你关掉电脑的最后一毫秒还在拼...

2026年7月31日3 阅读👍 0CPU、内存和输入输出设备

你的递归为什么跑得慢?一张“借书单”就能让它飞起来

你有没有想过这样一个问题:写一个简单的斐波那契递归,当 n=40 时,你的电脑需要计算多少次?答案可能让你震惊——超过 3 亿次!而如果你用了记忆化,只需要 40 次。你没看错,就是 40 次。这中间的差距,不是编译器优化能弥补的,而是你代...

2026年7月30日8 阅读👍 1C++递归优化策略

为什么说二进制是计算机的“母语”?从电灯开关到补码的奇妙旅程

你有没有想过,你手机里每一张照片、每一条语音、每一个游戏里的“血条”,本质上都只是一堆 开关 的排列组合?不是比喻,是真的物理开关——那些微小的晶体管,每个都像你家里的电灯开关一样,只有“开”和“关”两种状态。在计算机的世界里,“开...

2026年7月29日9 阅读👍 0二进制与计算机

Python整数无限大?别被C语言骗了,这才是真相

你有没有试过在C语言里算一个很大的数,比如2的1000次方?结果要么溢出变成负数,要么直接报错。但同样的事情放到Python里,你只需要一行代码,它就像变魔术一样吐出300多位的数字。不是Python更聪明,而是它的整数压根儿没有“上限”这...

2026年7月28日7 阅读👍 0Python高精度计算简介

你的电脑内存真的是“内存”吗?揭秘RAM、ROM和Cache的真实身份

你有没有被销售这样忽悠过——“这台电脑有512G内存,速度飞快!”转头买回家,发现多开几个网页就卡成PPT?恭喜你,你买的是硬盘,不是内存。今天我们就来扒一扒计算机里三个最容易被混淆的存储兄弟:RAM、ROM和Cache。搞懂它们,你不仅不...

2026年7月27日12 阅读👍 0计算机存储器——RAM、ROM 和 Cache

从“死脑筋”到“会思考”:Python if 语句让你的程序学会做选择

你有没有遇到过这种烦恼?写了一段代码,却不管输入什么值都输出同样的结果——程序像个“死脑筋”的机器人,只知道一条路走到黑。比如你本想让它根据天气提醒你带伞,结果它永远输出“今天不用带伞”,哪怕外面暴雨倾盆。这是因为你的程序还没学会“判断”。...

2026年7月26日12 阅读👍 0Python if 语句

告别死板的程序:用if语句给你的代码装个“红绿灯”

想象一下,你正在玩一个角色扮演游戏——你操控的角色走到一个岔路口,左边是金币宝箱,右边是怪物巢穴。游戏程序怎么知道该让你走哪条路?答案很简单:它得“看情况办”。这种“看情况”的能力,在C++里就是if语句的看家本领。 if语句就像马路上的...

2026年7月26日11 阅读👍 1C++ if 语句