自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

faterazer的专栏

记录思考

  • 博客(6)
  • 收藏
  • 关注

原创 C/C++宏替换详解

文章目录1. 基本形式2. 宏展开中的陷阱3. `#undef`4. 宏参数、`#` 和 `##`1. 基本形式#define name replacement_text 通常情况下,#define 指令占一行,替换文本是 define 指令行尾部的所有剩余部分,但也可以把一个较长的宏定义分成若干行,这时需要在待续的行末尾加上一个反斜杠符 ``。宏定义也可以带参数,这样可以对不同的宏调用使用不同的替换文本。例:#define max(A, B) ((A) > (B) ? (A) : (B)

2020-11-18 21:18:49 1110

原创 常用排列组合公式

1. 排列公式nnn 个相异物件取 rrr(1≤r≤n1 \leq r \leq n1≤r≤n)个的不同排列总数,为Prn=n(n−1)(n−2)⋯(n−r+1)P_r^n = n(n-1)(n-2)\cdots(n-r+1)Prn​=n(n−1)(n−2)⋯(n−r+1)特别地,若 n=rn=rn=r,得Prr=r(r−1)⋯1=r!P_r^r = r(r-1)\cdots 1 = r!Prr​=r(r−1)⋯1=r!人们常约定把 0!0!0! 作为 111。当 rrr 不是非负整数时,

2020-08-13 17:11:32 6919 1

原创 实现 sqrt(x):二分查找法和牛顿法

最近忙里偷闲,每天刷一道 LeetCode 的简单题保持手感,发现简单题虽然很容易 AC,但若去了解其所有的解法,也可学习到不少新的知识点,扩展知识的广度。创作本文的思路来源于:LeetCode Problem 69. x 的平方根简述题目大意(不想跳转链接,可以看这里):给定一个非负整数 x,要求计算并返回 x 的平方根(取整)。例如,输入 4,则输出 2;输入 8,则输出 2(8 的平方根...

2019-11-15 18:03:58 317

原创 蔡勒(Zeller)公式及其推导:快速将任意日期转换为星期数

0. 本文的初衷及蔡勒公式的用处前一段时间,我在准备北邮计算机考研复试的时候,做了几道与日期计算相关的题目,在这个过程中我接触到了蔡勒公式。先简单的介绍一下蔡勒公式是干什么用的。我们有时候会遇到这样的问题:看到一个日期想知道这一天是星期几,甚至看到一个历史日期或纪念日,我们想快速的知道这一天是星期几。对于这个问题,如果用编程的方式,应该怎么实现呢?你可能已经有思路了,比如你知道某个日期是星期几...

2019-08-25 14:14:22 522

原创 判断回文数算法

回文数是指正序(从左到右)读和倒序(从右到左)读都是一样的整数。比如形如 121,1221,13531 的数字都是回文数,但 -121,10,25 等等都不是回文数。如何判断一个数是回文数?这是一个很简单的算法,最常见的实现方式是使用一个栈或其他方法,把数字序列逆序,然后判断逆序后的数字是否等于原先的数字。显然这种实现方式需要至少 n 次循环才能完成判断。本文提供一种更巧妙的方法,利用回文数...

2019-08-25 14:08:26 486

原创 二分求幂算法:快速的求幂计算方式

二分求幂法是快速计算形如 aba^bab 的求幂运算的方法。朴素计算 aba^bab 的方式是将 aaa 连乘 bbb 次,代码如下:int result = 1;for (int i = 0; i != b; i++) result *= a;这需要计算 bbb 次,而实际真的需要运算这么多次吗?答案是不需要,利用二分求幂法,我们可以使运算次数大大小于 bbb 次。那么什么是二分...

2019-08-25 14:06:40 418

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除