![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学数论
蛋淡的忧伤
小xuo生
展开
-
快速幂
求a的b次幂的快速幂算法递归写法:如果b=0,返回1 如果b是偶数, 如果b是奇数,一般会要结果求对某个数取模,写法如下typedef long long ll;ll pow_mod(ll a,ll b,ll mod){ if(b==0) return 1; if(b%2==0) { ll res=pow_mod(a,b/2,mod); retur...原创 2019-07-01 11:16:27 · 136 阅读 · 0 评论 -
矩阵乘法与矩阵二分幂
一、矩阵乘法乘法运算:matrix matrixmult(matrix A,matrix B){ matrix res; res.n=A.n; res.m=B.m; memset(res.a,0,sizeof(res.a)); for(int i=0;i<res.n;i++) { for(int j=0;j<res.m;j++) { for(int...原创 2019-07-09 22:00:20 · 400 阅读 · 0 评论 -
欧拉函数
欧拉函数的定义:对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1)。此函数以其首名研究者欧拉命名(Euler's totient function),它又称为Euler's totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。 从欧拉函数引伸出来在环论方面的事实和拉格朗日定理构成了欧拉定理的证明。注:互质的定义:...原创 2019-07-05 20:55:39 · 244 阅读 · 0 评论 -
大整数加减
结构体定义、初始化、工具类:默认输入都是非负数。不过只要稍作处理就能输入负数。#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct Number{ int n[1000]; int len; Number() { mems...原创 2019-08-25 13:02:39 · 351 阅读 · 0 评论 -
素数——素数筛法
获取素数常规写法:const int maxn=100;bool prime[maxn];bool isPrime(int n){ if(n<=1) return false; for(int i=2;i*i<=n;i++) { if(n%i==0) return false; } return true;}bool getPrime(){ fo...原创 2019-08-25 15:48:46 · 99 阅读 · 0 评论 -
质因子分解
质因子分解:例如:6 = 3 * 2 8 = 2 * 2 * 2#include<cstdio>int main(){ int n; scanf("%d",&n); for(int i=2;i<=n;i++) { if(n%i==0) { while(n%i==0) { printf("%d...原创 2019-08-25 17:17:30 · 96 阅读 · 0 评论