- 博客(3)
- 收藏
- 关注
原创 【蓝桥杯国赛C组】六一儿童节(大数幂次模运算)
该算法通过统计余数来高效计算满足条件的数对数量。主要思路是:对于每个x,利用快速幂计算x^x mod 6421的余数,然后累加与当前余数之和为6421(即模6421等于0)的y的数量。通过逆序遍历保证y>x,最后单独处理余数为0的情况。这种方法避免了直接遍历所有可能数对带来的超时问题,时间复杂度从O(n²)优化到O(n logn)。最终输出结果为51349141107,这是所有满足条件的数对(x,y)的总数。
2025-05-26 11:04:54
418
原创 逐位取余法实现大数除以小数
学习高精度除法中遇到大数除小数,不想全部转成字符串费时费力,便可利用数学原理使用逐位取余法实现取余。将D mod m带入上式展开即可得到D mod m的递推公式:(简单推了一下,字丑勿喷)第一步:处理 D1=1,余数 r1=(0×10+1)mod 5=1。第二步:处理 D2=2,余数 r2=(1×10+2)mod 5=1。第三步:处理 D3=3,余数 r3=(2×10+3)mod 5=2。第四步:处理 D4=4,余数 r4=(3×10+4)mod 5=3。,逐个向下推下去即可得到最终余数。
2025-05-24 20:03:55
232
原创 【蓝桥杯国赛C组】汉字田
该程序计算了一个3x3矩阵中所有可能的直线数量。首先,程序定义了一个点结构体,并初始化了9个点的坐标。然后,通过遍历所有点对,计算每对点确定的直线的斜率和截距,并使用map来记录唯一的直线。最后,程序输出唯一直线的总数,并减去显而易见的经过三个点的8条直线。该程序的核心思想是通过两点确定一条直线,并利用map来去重,最终得到矩阵中所有可能的直线数量。
2025-05-19 19:37:28
223
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人