最大公约数欧几里得不定方程扩展欧几里得不定方程欧拉定理欧拉函数费马小
斐波那契数列定义:F0=0;组了。那规模如此之大的问题该如何求解呢?可能也有人会想到递推式代入求解,下面就是...
中国剩余定理 是正规的解法,但时条件苛刻,要求模数之间两两互质;另外一种方法直接暴力求解,时间还过得去。。。方法一:#in...
费马小定理:在p为素数时,对于任意的整数x来说都有x^p=x(mod p),即:x^(p-1)=1(mod p)。欧拉定理:当gcd(x,m)==1时,有x^oula(m) = 1 mod m;其中oula(m)为小于n且与n互质的数的个数,称之为欧拉函数当然大多数情况下,我们可以使用暴力的方法求解oula(m),但效率太低。假设,其中pi为m的质因数,ei为m对应pi下的指数,那么m...
矩阵快速幂作用:用快速幂的思想来加速数列学,请移步到矩阵快速幂——斐波那契输入:N=2输出:...
题目:给定n * n的矩阵A以及正整数k和m。求出矩阵A的幂的
威尔逊定理:当p为质数时,(p−1)!≡−1 mod p 或 (p-1)!≡p-1 mod p;当p为合数时,(p-1)!≡0 mod n 。例题#include <bits/stdc++.h>using namespace std;const int maxn = 3e6 +10;const int maxm = 1e6 + 10;int v[maxn];...
当x>oula(m)并且gcd(a,m)==1时,a^x = a^(k*oula(m))*a^(x%oula(m)),而a^(k*oula(m)) =1 mod m;所以如图显示:#include<cstdio>#include<cmath>int gcd(int a,int b) { return !b?a:gcd(b,a%b);}int ...
扩展欧几里得不定方程对于ax+by=c来说,如果c%gcd(a,b)==0,则此不定方程有解。特别的,当c==1时,方程为欧几里得不定方程,当且仅当gcd(a,b)==1时,有解。#include<cstdio>int extgcd(int a,int b,int &x ,int &y){ int d=a; if(!b) { x=1,y=0;...
使用算法:快速幂、逆元、组合公式实现:#include <stdio.h>using namespace std;typedef long long LL;LL POW(LL a,LL b,int p)//快速幂求逆元{ LL ans = 1; while(b){ if(b&1) ans = (an...
伪素数测试:根据费马定理可知,当n为素数时,a^(n-1)=1 mod n ,那么逆过来并不成立的,那有什么用。。。。。哎!壮士请留步,逆过来的定理还是可以判定n是否为素数,虽然有错误的概率,但是,我们取两个素数作为a去测试,若n运算完都等于一,则极大的概率是素数,正确率高达99.9%,放心使用!!!当然对于那两个素数来说得特判一下,要不然会有bug。#include<cs...
问题:a^2+b^2=c^2,已知a,求解b、c。原理详解#include<cstdio>int main(int argc, char const *argv[]){ int a,b,c; scanf("%d",&a); if(a%2) { int n=(a-1)/2; b=2*n*n+2*n; c=b+1; } else{ int ...
求解a^n当n为奇数时,a^n=a.a^(n-1);当n为偶数时,a^n=a^(n/2)a^(n/2);#include<cstdio>long long qpow(int x,int n){ long long d=1; while(n>0) { if(n&1)//若n为奇数 d*=x; x*=x; n>>=1;//n除二...
定义: 比如a∗b≡1拉定理O(log mod):...
ACM数论之初学
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号