简单算法拾遗
总结一下刷题常见的算法,有时候会写一些数据结构
渐行渐远,
间歇性踌躇满志,持久性混吃等死
展开
-
培训第一天——快速幂入门
1.从简单的幂运算说起对于一个接触过一门编程语言的人来说,幂运算是一个最基础的知识了,例如求2的20次方,我们只需要通过如下的代码即可完成int res = 1;for (int i=0; i<20; i++){ res *= 2;}现在考虑一下这个问题,如果20再大点呢? 200,20000,甚至2000000……当然,用循环可以解决,但是花费的时间却是以n的速度线性增长,n很大的时候,花的时间也是相当“可观”。 这里先插一句题外话 ,unsigned long long的最大值也原创 2020-07-06 18:54:20 · 342 阅读 · 2 评论 -
高精度运算(加法,减法,乘法)
写在最前面:最近在洛谷上写题的时候,看到一个算1000!的题目,但是C语言和C++算到13的阶乘,就存放不下了,所以就根据答案,写了一个算大数阶乘的程序,与此同时,受到启发,就又写了写大数的加法减法和乘法,对于除法,我现在唯一想到的办法是进行多次减法,所以等以后有了好的想法再补上!什么是高精度?对于C /C++,它们的数据类型有限,int最大为2^31 -1, 大约二十亿,long long最多是2^63-1,十进制也就二十位左右。但是,如果一个数超过了20位,甚至一百位,两百位,那么这些基本的数据原创 2020-06-16 22:33:10 · 601 阅读 · 2 评论