C 和 python 的格式化输出
1234567891011#include "stdio.h"int main(){ int a = 1234; float b = 123.456; double c = 12345.54321; printf("%2d,%2.1f,%2.11f", a, b, c);}输出:1234,123.5,12345.54321000000
%md:m为指定输出数据的宽度
如果位数小于 m,则左端补以空格,如果大于 m,则按实际位数输出
显然 1234 的位数是 4,大于 %2d 中指定的长度 2,按实际位数输出,所以结果为 1234
%m.nf:指定输出数据宽度为 m 位,其中小数占 n 位,如果数值长度小于 m,则左端补空格,大于的话就按原长度输出;%-m.nf 如果数值长度小于 m,则右端补空格,大于的话就按原长度输出
%2.1f 就是指长度 2 位,含 1 位小数位,由于 123.456 原长度大于 2,所以原样输出,但只能保留 1 位小数,所以结果是 123.4
%2.11f,就是含 11 位小数,12345.54321 ...
正则表达式
踩坑记录
符号间不能有空格来作为分隔符(这对于有强迫症的编程者来说简直是磨难)
什么是正则表达式 ?
正则表达式是一种被用于从文本中检索符合某些特定模式的文本。
正则表达式是从左到右来匹配一个字符串的。“Regular Expression”这个词太长了,我们通常使用它的缩写“regex”或者“regexp”。
正则表达式可以被用来替换字符串中的文本、验证表单、基于模式匹配从一个字符串中提取字符串等等。
想象一下,您正在编写应用程序,并且您希望在用户选择用户名时设置规则。我们希望用户名可以包含字母,数字,下划线和连字符。
为了让它看起来不丑,我们还想限制用户名中的字符数量。这时我们可以使用以下正则表达式来验证用户名:
上面这个正则表达式可以匹配 john_doe,jo-hn_doe 和 john12_as。但是它不能匹配 Jo,因为该字符串里面包含大写字符,并且它太短了。
目录
基本匹配
元字符
英文句号
字符集
否定字符集
重复
星号
加号
问号
花括号
字符组
分支结构
转义特殊字符
定位符
插入符号
美元符号
简写字符集
断言
正向先行 ...
反三角函数的的相互关系
反三角函数的的相互关系
arcsinx=−arcsin(−x)=π2−arccosx=arctanx1−x2=arccos1−x2=arccot1−x2x(1)\begin{align} \arcsin x&=-\arcsin(-x)\\ &=\frac\pi 2-\arccos x\\&=\arctan\frac{x}{\sqrt{1-x^2}} \\&=\arccos\sqrt{1-x^2} \\ &=\operatorname{arccot}\frac{\sqrt{1-x^2}}x \end{align}\tag 1
arcsinx=−arcsin(−x)=2π−arccosx=arctan1−x2x=arccos1−x2=arccotx1−x2(1)
最后两个等号只在 x>0 时成立,下同
arccosx=π−arccos(−x)=π2−arcsinx=arccotx1−x2=arcsin1−x2=arctan1−x2x(2)\begin{align} \arccos x&=\pi-\ ...
卡塔兰常数
定义
卡塔兰常数(Catalan’s Constant)常用字母 G 表示, 我们先来看看它的定义:
级数定义式: G:=∑n=0∞(−1)n(2n+1)2\large G:=\sum_{n=0}^{∞}{\dfrac{(-1)^{n}}{(2n+1)^{2}}}G:=∑n=0∞(2n+1)2(−1)n,积分定义式:G:=−∫0π/4lntanx dx\large G:=-\int_{0}^{\pi/{4}}\ln \tan x \ \mathrm{d}xG:=−∫0π/4lntanx dx
这两种定义可以互相转化:作换元 t=tanxt=\tan xt=tanx, 有
G=−∫0π/4lntanx dx=−∫01lnt darctant=[−lnt⋅arctant]01+∫01arctantt dt=0+∫01∑n=0∞(−1)nt2n2n+1 dt=∑n=0∞(−1)n∫01t2n2n+1 dt=∑n=0∞(−1)n[t2n+1(2n+1)2]01=∑n=0∞(−1)n(2n+1)2.\large\begin{aligned}
G&=-\int_{ ...