随笔分类 - 算法—数学
摘要:题意:计算0 9的第1000000大的字典序 注意: 标记的数组位置和具体的值恰好相反 求第n个状态则需要转换n 1次
阅读全文
摘要:1.大整数加法 题意:计算两个数得和 2.大整数乘法 题意:计算2 ^1000 各位数字累加和 include using namespace std; const int N = 1e5 + 5; const int VAL = 1000; int32_t main() { char a[N],b
阅读全文
摘要:题意:求解因子个数大于500的三角数 方法一: 约数个数定理: 时间复杂度:O(N^3) 方法二: 要点1:线性筛的应用——用24 和 2 标记48的约数个数 48 = 2^4 3^1 num[48] = (4+1) 2=10 24 = 2^3 3^1 num[24] =(3+1) 2= 8 模拟:
阅读全文
摘要:代码段1:计算约数定理中素数的幂数 分析:第19行代码:保证prime[j]
阅读全文
摘要:逆运算 所谓逆运算,就是把c以及a、b中的一个当作已知,把a、b中的另一个当做所求的运算 加法不是减法的逆运算,乘法不是除法的逆运算 例子1: 例子2: 例子3: 例子4:
阅读全文
摘要:方法一: 暴力 时间复杂度O(n sqrt(n)) include int is_prime(int x) { for (int i=2; i i using namespace std; define MAX_N 1000 int prime[MAX_N + 5] = {0}; int main(
阅读全文
摘要:证明: gcd (a,b) == gcd (b,a%b) yu = a % b = a k b (k 为 a/b 向下取整) 假设最大公约数为d,上式同时除以 d yu / d = a / d + k b / d 等号左侧为整数 ,同样右侧也是整数 ,证明yu 也能被d 整除 整体递归过程: gcd
阅读全文
摘要:今天做题的时候遇到了卡特兰数,就好好的系统的学习一下吧。 参考博客:http://www.cnblogs.com/code-painter/p/4417354.html 一、关于卡特兰数 卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 : 1, 2, 5, 14, 42, 132, 4
阅读全文