![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
Code--Dream
acm
展开
-
欧拉函数
欧拉函数 编辑在数论,对正整数n,欧拉函数是小于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名(Ruler'so totient function),它又称为Euler's totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。 从欧拉函数引伸出来在环论方面的事实和拉格朗日定理构成了欧拉定理的证明。中文名 欧拉函数 外文名 Rul原创 2016-04-12 18:58:07 · 757 阅读 · 0 评论 -
数学题-计算相交圆的公共部分面积
参考学长的模板;数学能力差就要看公式模板;数学知识不懂画图推一下就出来了。高三同学做这种题应该特别厉害。double abss(double a,double b) //两数作差绝对值{ return a-b>=0?(a-b):(b-a);}struct circle{ double x,y,r;} a,b;double get_dis(double x1,原创 2016-11-26 21:15:37 · 1533 阅读 · 0 评论 -
Count primes
题目链接:点击打开链接题目意思就是求1到n之间的素数个数 n思路就是: 不会啊, 先存两份模板.顺便存存高手代码。暂时没看懂,不过好短,感觉很厉害。#include #define MAXN 100#define MAXM 10001#define MAXP 40000#define MAX 400000#define clr(ar) memset(ar原创 2016-09-21 14:01:42 · 356 阅读 · 0 评论 -
扩展欧几里德算法--学习笔记
扩展欧几里德算法 扩展欧几里德算法是用来在已知a, b求解一组x,y,使它们满足贝祖等式: ax+by = gcd(a, b) =d(解一定存在,根据数论中的相关定理)。扩展欧几里德常用在求解模线性方程及方程组中。 int Exgcd(int a,int b,int &x,int &y){ if (b==0) { x=1,y=0; r转载 2016-07-29 18:32:06 · 396 阅读 · 0 评论 -
中国剩余定理 ( 的学习 )
孙子定理 又称为(中国剩余定理)一般指孙子定理 中国古代求解一次同余式组(见同余)的方法。是数论中一个重要定理。又称中国剩余定理。现代公式表示为:参考文献:百度百科 Acdreams的博客转载 2016-07-29 18:41:48 · 613 阅读 · 0 评论 -
花式GCD
#include#include#include#include#include#includeusing namespace std;int gcd(int a,int b){ return b?gcd(b,a%b):a;} int gcd1( int a, int b){ int r; while(b>0) { r=a%原创 2016-04-22 08:34:15 · 419 阅读 · 0 评论 -
乘法逆元
如 a/b mod m 当a很大时, 就可以转化为 a*k mod m ;那么在什么情况下是等价的? 当 ( b*k ) mod m==1 的时候就有这个结论。证明过程详见 乘法逆元。原创 2016-05-13 10:43:05 · 388 阅读 · 0 评论 -
容斥原理
在计数时,必须注意没有重复,没有遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法,这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理。[1] 中文名容斥原理外文名Principle of inclusion-exclusio转载 2016-04-11 21:37:18 · 392 阅读 · 0 评论 -
nyoj 998
nyoj 998 点击这里打开题目链接 给你一个数N,使得在1~N之间能够找到x使得x满足gcd( x , N ) >= M,求解gcd(x,N)的和思路:一开始想到暴力法做,超时 ,后来借鉴学长经验AC:大致思路: 用欧拉函数求 ,euler(n) 表示 1到n与n互质的数的个数, 如果n能够被 i 整除 , 则euler(n/i)等价原创 2016-04-12 21:26:49 · 589 阅读 · 0 评论 -
数学题--On Sum of Fractions
题目链接题目意思:定义v(n)是不超过n的最大素数, u(n)是大于n的最小素数。以分数形式"p/q"输出 sigma(i = 2 to n) (1 / (v(i)*u(i))), pq为互质整数且q > 0。通常会想到这个裂项。公式一写发现约掉了许多。最终是:所以:AC 注意乘的过程会爆int。#include #include #include原创 2017-02-22 14:50:36 · 486 阅读 · 0 评论