摘要: 先贴一个快速幂模板 long long int quik_power(int base, int power) { long long int result = 1; while (power > 0) //指数大于0进行指数折半,底数变其平方的操作 { if (power & 1) //指数为奇数 阅读全文
posted @ 2023-04-18 23:38 凪风sama 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 可以知道在处理高精度乘法的时候,我们是不考虑当场进位的,在所有位数都模拟完竖式乘法后才进行逐位进位,这就要求存储每个位的数组保证不会爆掉溢出 众所周知char类型最多只能存储到255,非常非常容易溢出成负数,对于char型数组要考虑每一步乘法都要进位。 而int型数组最大21亿就不用考虑这种问题,当 阅读全文
posted @ 2023-04-18 23:01 凪风sama 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 对于计算比较大的幂的结果时可以采用快速幂来降低时间复杂度 例如求K的n次幂 int Pow(int K, int n) { for (int i = 0; i < n; i++) K *= K; return K; } 最朴素的思想就是直接n次循环,让K自乘n次,但是随着n的增加循环次数会越来越多, 阅读全文
posted @ 2023-04-18 17:54 凪风sama 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 这道题是数论加高精度,高精度倒好说,就是高精度乘法实现,模拟列竖式乘法,但是找出要乘的这几个数实属不容易,没学过数论,只能从题解中学怎么找规律这里引用一下洛谷题解区赞数最高的题解 不知道大家看其他的题解有没有产生很多问号??? (本题解修改了一些第一次提交发现的错误,感谢yhm12345同学指出。) 阅读全文
posted @ 2023-04-18 16:09 凪风sama 阅读(44) 评论(0) 推荐(0) 编辑