- 博客(33)
- 收藏
- 关注
原创 c++ 语言 阶乘
在算法刷题、数学竞赛、概率计算场景中,是出现频率极高的基础知识点。组合数公式为:代表从 $$n$$ 个元素中选出 $$r$$ 个元素的不重复组合数量。
2026-09-01 21:47:29
158
原创 B4259 [GESP202503 二级] 等差矩阵
给定 n 行 m 列,构造矩阵,矩阵第 i 行第 j 列的值等于i* j 矩阵的每一行、每一列都要是等差数列。谁懂啊 现在要每天发两篇博客才能有一张曝光券 真怀念以前啊 只用发一个就够了。世间万象 纸上一隅 愿这些文字能带给你片刻启发 山高水远 我们后会有期。输入:一行两个整数n,m 输出:n 行,每行 m 个数字,空格隔开。
2026-08-13 10:51:12
172
1
原创 B4553 [GESP202606 二级] 完全平方数计数
世间万象 纸上一隅 愿这些文字能带给你片刻启发 山高水远 我们后会有期。题目就是说输入两个整数l和r在这个范围内找有多少个完全平方数。完全平方数:某个正整数的平方。
2026-08-13 10:35:17
188
原创 找素数c++
世间万象 纸上一隅 愿这些文字能带给你片刻启发 山高水远 我们后会有期。所以 n <= 1 一定不是质数,直接输出 结束程序。运用的是升旗子的方法 (bool flg)是素数就输出Yes 否则输出No。素数就是指只有1和它本生2个因数。我们现来明确素数是什么。
2026-08-12 12:09:36
340
原创 B4498 [GESP202603 二级] 画画
题目解析 额...... 算了 题目已经解释的很清楚了 要说的话也只是抄一下题目。世间万象 纸上一隅 愿这些文字能带给你片刻启发 山高水远 我们后会有期。四个角落必须最先判断。如果先判断上下行,顶点会被。内层循环结束代表一行全部输出完成,执行换行。再处理上下两条横边(第一行、最后一行)再处理左右两条竖边(第一列、最后一列)剩下的位置就是正方形内部,填充星号。这个程序足够AC本题了。
2026-08-12 11:05:41
225
原创 B4002 [GESP202406 二级] 平方之和 c++
世间万象 纸上一隅 愿这些文字能带给你片刻启发 山高水远 我们后会有期。给定n个正整数aᵢ,对每一个aᵢ,判断是否存在两个正整数x,y。运用升旗子的方法 (bool flag = false)这道题算是三级了吧 反正比2级难一点。满足x*x + y * y = aᵢ。剩下的看代码吧 我也是懒得写了。
2026-08-11 10:47:25
37
原创 B3837 [GESP202303 二级] 画三角形
j = 0 输出D cnt = 4;j = 1 输出Ecnt = 5;j = 2输出F cnt = 6;j = 0成立 输出B cnt =2;j = 1 成立输出C cnt = 3;j = 2 不成立;j = 0 到i >= j 成立,输出A,cnt = 1;j = 1 j = 2 条件不成立;换图形在2级的题中倒是挺常见的 但是画三角形我倒是不常见这道题还是有点难度的。世间万象 纸上一隅 愿这些文字能带给你片刻启发 山高水远 我们后会有期。下面的部分就是一个三角形。画三角形是一个矩形找到。
2026-08-10 12:00:55
211
原创 冒泡排序(c++)
冒泡排序: 重复偏历数组,比较相邻两个元素,如果前面大于后面就交换 每一轮循环会把当前末排序部分最大的元素“冒泡”到末尾。输入:第一行整数 n 代表数组长度,第二行输入 n 个整数。输出:从小到大排好序的数组。世间万象 纸上一隅 愿这些文字能带给你片刻启发 山高水远 我们后会有期。
2026-08-07 10:58:04
341
原创 一道幂次判断溢出题的错题分析与完整解题思路
溢出判断核心技巧:不要先做乘法再判断,要用除法反向预判,避免中间值超出 long long 存储范围;不要盲目加剪枝特判:很多边界场景循环本身就能处理,多余预判容易引入新 bug;数据类型选择:涉及大数乘法必须用long long,int 最大仅 \(2^{31}-1\),远小于 \(10^9\) 的运算中间值;测试思维:写代码后一定要覆盖边界数据:底数为 1、指数为 1、刚好等于上限、刚好超过上限、超大底数小指数等极端样例好了这次就到这里吧 咱们下次见。
2026-08-02 22:28:33
323
原创 B4258 [GESP202503 一级] 四舍五入
在编程练习和实际开发中,我们经常会遇到的需求。这个算法逻辑简单、效率高,非常适合编程新手学习基础运算、循环、数组的综合用法下面我们来看一下题目。
2026-06-10 18:23:40
248
原创 B3866 [GESP202309 二级] 数字黑洞
我们先拆解一下这道题1.题目说这个数各个位置上的数字要是不一样的,所以我们要先判断如果有一样的我们就 return 0;2.因为我们要把一个数重新排列得到最大和最小,所以我们要用数位分离 要重新排序找到最大的所以我们还要用到swap()调换位置3. 题目说要经过几次变化才能得到495,所以我们要用到cnt 计算器4.while() 因为咱们要循环这个过程知道最后结果为495,且不知道要循环多少次5. 我的方法使用的是自定义函数(不用也行)所以我们这题要用到1. 数位分离2. swap()
2026-06-03 21:56:58
269
原创 数字转换与排序
这个小程序虽然简单,但包含了 C++ 入门最核心的知识点:数字拆分(取余 + 整除)动态数组 vector 的使用排序函数 sort()条件判断与遍历输出。
2026-05-03 19:28:37
68
原创 B2037 奇偶数判断(位运算)
今天我们从一道最最基础的编程入门题入手,拆解奇偶判断的实现逻辑,顺便聊聊两种常见解法的优劣,帮新手同学彻底搞懂这类问题。这道题用的是位运算先给大家看最终的完整代码,再逐行拆解逻辑。
2026-04-15 22:59:39
186
原创 C++ 实现二进制字符串转十进制(基础版→优化版)
在编程中,二进制与十进制的转换是基础操作,本文将从一段基础的二进制字符串转十进制代码出发,分析其不足,并逐步优化,最终得到健壮、易读、可维护的代码。这段代码的核心逻辑是从二进制字符串末尾(最低位)开始,逐位计算每一位的权值(2 的 n 次方)并累加,等变量名无法直观体现含义,后期维护困难;:转换逻辑与输入输出混在一起,无法复用;,会得到错误结果,程序无任何提示;是 64 位,最高位为符号位),包含非 0/1 的字符串。(超过 63 位,因为。如果二进制字符串过长。
2026-03-03 17:37:28
38
原创 C++ 实现二进制字符串转十进制(基础版→优化版)
在编程中,二进制与十进制的转换是基础操作,本文将从一段基础的二进制字符串转十进制代码出发,分析其不足,并逐步优化,最终得到健壮、易读、可维护的代码。等包含非 0/1 的字符串,会得到错误结果,程序无任何提示;的核心逻辑是从二进制字符串末尾(最低位)开始,等变量名无法直观体现含义,后期维护困难;转换逻辑与输入输出混在一起,无法复用。是 64 位,最高位为符号位),(2 的 n 次方)并累加,(超过 63 位,因为。逐位计算每一位的权值。
2026-03-03 17:24:38
293
原创 二进制转为十进制
核心功能:这段代码通过逆序遍历二进制字符串 + 位权累加,实现了二进制到十进制的转换,是进制转换的基础实现方式。关键细节:使用long long避免溢出、逆序遍历匹配二进制位权(2⁰→2ⁿ)是代码的核心设计点。优化方向:工程开发中需补充输入校验、规范头文件、优化变量命名,提升代码健壮性和可读性。(这个大家可以思考一下,之后我会发改进后的版本)
2026-02-27 15:50:20
675
原创 B3953 [GESP202403 一级] 找因数
题目中,因数的定义是:如果 a 能够被 b 整除,那么 b 是 a 的因数。换句话说,就是如果 a÷b 的余数是 0,那么 b 是 a 的因数。因此,在循环语句中只需判断。题目要求从小到大输出正整数 a 的因数,启发了我们使用循环语句,让循环变量 b 从小到大,逐一判断 b 是否是 a 的因数。这道题是基础中的基础,乍一看很简单,实则做起来也不难。,输出满足这一个判断条件的 b 即可。
2025-08-03 13:17:10
278
原创 洛谷_p2249_查找_用函数
洛谷 P2249 【深基13.例1】查找这个暴力解法还是蛮好想的。对于每个询问,从头到尾搜一遍,找到就输出并break,如果一直找不到最后输出 −1二分只是差一嘴,咱们回到正题。
2025-07-27 23:03:37
437
原创 三数交换
如果想要变成从小到大的话,那就可能有点麻烦了。就要把>改为<然后把里面的各项数值也要做一个交换。这里面的top其实就是一个暂时用于存储的变量,所以它呢,就不用输入。这是一个你输入几个数,它就能帮你把这几个数按从大到小的数排列好。
2025-07-15 22:14:38
338
原创 闰年求和 \ 闰年判断
这个判断的是每个月的天数的,在这之前,你要输入一个年,如果你说的这个年是一个闰年,那么它的二月份的天数就会变成29。这个呢,可能要比上一个要弱一点。这个只是判断这一年是不是闰年。
2025-07-13 22:23:28
370
原创 二分判断
我发现这个sort(arry.begin(), arry.end());这是一个用sort做的二分判断也就是我上一期所说的。不知道什么是二分判断的,可以去看我主页的上一篇内容。
2025-07-13 22:11:50
194
原创 二分查找
游戏内容就是你写一个数,不告诉我是多少,这个数要在0到100之间,然后我来猜这个数是多少。这个代码解决的就是这个问题。在猜这个数的时候,我会问你一些关于这个数的问题。因为不确定要问多少次所以用的是while循环。如果你输入的这个数不是在0到99之间的话,那么它这个程序会跑飞,就会输出NO。这个程序也就是做了一个游戏。
2025-07-12 22:31:09
256
原创 排序 sort
arry.begin() 和 arry.end() 在程序下方都有说明。如果你想要程序从小到大排序的话,很明显就可以把。这是一个可以把数字还有字母从大到小排序的代码。
2025-07-12 15:25:23
821
原创 选择排序
你选择排序算法的基本思想是N个数排序就有N个位置,如果按从大到小顺序,在N个数中找出最大的那个数所在的位置P,然后再把第P个数与第一个数相交换,把最大的数放在第一个位置上。那排重复此类进行(N减一)次扫描后就可以把N个数按从大到小顺序摆好。步骤三,在3~N的序列中找到最大的数,放到第三个位置(交换)。步骤二:在2~N的序列中找到最大的,放到第二个位置(交换)。步骤一:在1~N的序列中找最大的放到第一个位置(交换)。通过它,我们可以解决生活中的一些排序。当然我写的这个是从小到大。
2025-07-09 15:51:13
223
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅