💡
原文中文,约1100字,阅读约需3分钟。
📝
内容提要
本文介绍了多种常用的数学和编程模板,包括最大公约数、最小公倍数、素数判断、排列组合、快速幂运算和进制转换等算法和公式。
🎯
关键要点
- 最大公约数算法:使用递归方法计算两个数的最大公约数。
- 最小公倍数算法:通过最大公约数计算两个数的最小公倍数。
- 素数判断算法:通过循环判断一个数是否为素数。
- 排列组合算法:使用动态规划方法预计算组合数。
- 快速幂运算:通过位运算实现快速计算幂。
- 快速幂取模:在计算幂的同时进行取模操作。
- 进制转换算法:将十进制数转换为其他进制。
- 等差数列求和公式:Sn=n*a1+n(n-1)d/2 或 Sn=n(a1+an)/2。
- 等比数列求和公式:Sn=a1(1-q^n)/(1-q)。
❓
延伸问答
如何计算两个数的最大公约数?
可以使用递归方法,通过函数gcd(int a, int b)来计算最大公约数。
最小公倍数是如何计算的?
最小公倍数可以通过最大公约数计算,使用公式lcm(int a, int b) = a/gcd(a,b)*b。
如何判断一个数是否为素数?
可以通过循环判断,使用函数prime(int b)来检查一个数是否为素数。
排列组合的动态规划方法是怎样的?
使用动态规划预计算组合数,具体实现可以参考com()函数。
快速幂运算的实现方式是什么?
快速幂运算可以通过位运算实现,使用函数Fast(int x, int n)进行计算。
如何将十进制数转换为其他进制?
可以使用trans(int num, int base)函数将十进制数转换为指定进制。
➡️