
数学知识
会笑的小熊
在努力,在进步
展开
-
快速幂(快速幂)
题目:代码:#include <iostream>#include <algorithm>using namespace std;typedef long long LL;LL qmi(int a, int b, int p){ LL res = 1 % p; while (b) { if (b & 1) res = res * a % p; a = a * (LL)a % p;原创 2022-02-26 11:11:21 · 132 阅读 · 0 评论 -
欧拉函数(筛法求欧拉函数)
互质:两个或多个整数的公因数只有1的非零自然数题目:代码:原创 2022-02-22 17:40:20 · 124 阅读 · 0 评论 -
扩展欧几里得算法(扩展欧几里得算法)
题目:题目:#include <iostream>#include <algorithm>using namespace std;int exgcd(int a, int b, int &x, int &y){ if (!b) { x = 1, y = 0; return a; } int d = exgcd(b, a % b, y, x); y -= a / b * x原创 2022-02-26 13:08:50 · 172 阅读 · 0 评论 -
快速幂(快速幂求逆元)
题目:代码:#include <iostream>#include <algorithm>using namespace std;typedef long long LL;LL qmi(int a, int b, int p){ LL res = 1; while (b) { if (b & 1) res = res * a % p; a = a * (LL)a % p; .原创 2022-02-26 11:50:21 · 762 阅读 · 0 评论 -
欧拉函数(欧拉函数)
题目:代码:#include <iostream>using namespace std;int phi(int x){ int res = x; for (int i = 2; i <= x / i; i ++ ) if (x % i == 0) { res = res / i * (i - 1); while (x % i == 0) x /= i;原创 2022-02-22 17:14:08 · 202 阅读 · 0 评论 -
约数(最大公约数)
欧几里得算法(辗转相除法)题目:代码:#include<iostream>using namespace std;int gcd(int a,int b){ return b ? gcd(b,a%b) : a;}int main(){ int n; cin>>n; while(n--){ int a,b; cin>>a>>b;; cout<<原创 2022-02-17 19:21:26 · 260 阅读 · 0 评论 -
约数(约数之和)
题目:代码:#include<iostream>#include<algorithm>#include<unordered_map>using namespace std;typedef long long LL;const int mod=1e9+7;int main(){ int n; cin>>n; unordered_map<int,int> primes; .原创 2022-02-17 19:05:50 · 388 阅读 · 0 评论 -
约数(约数个数)
题目:代码:#include<iostream>#include<algorithm>#include<unordered_map>using namespace std;typedef long long LL;const int mod=1e9+7;int main(){ int n; cin>>n; unordered_map<int,int> primes; //存所有的底.原创 2022-02-17 18:36:02 · 224 阅读 · 0 评论 -
约数(试除法求约数)
题目:代码:#include<iostream>#include<algorithm>#include<vector>using namespace std;vector<int> get_divisors(int n){ vector<int> res; for(int i=1;i<=n/i;i++){ //约数成对存在,只需要枚举较小的那个数 if(n%i==0){原创 2022-02-17 17:57:24 · 268 阅读 · 0 评论 -
质数(筛质数)
题目:代码:朴素做法:从前往后把每一个数的所有倍数筛掉,剩下的数是质数#include<iostream>#include<algorithm>using namespace std;const int N=10e6+10;int primes[N],cnt;bool st[N];void get_primes(int n){ for(int i=2;i<=n;i++){ if(!st[i]) { //i没有被筛掉原创 2022-02-17 17:37:57 · 156 阅读 · 0 评论 -
质数(分解质因数)
质因数(或者质因子):在数论中指能整除给定正整数的质数。即一个数的约数,并且是质数题目:代码:朴素做法:O(n)超时#include<iostream>#include<algorithm>using namespace std;bool divide(int n){ for(int i=2;i<=n;i++) if(n%i==0){ int z=0; while(n%i==0原创 2022-02-17 16:25:38 · 239 阅读 · 0 评论 -
质数(试除法判断质数)
质数:在大于1的整数中,如果只包含1和本身这两个约数,就被称为质数,或者叫素数。(小于等于1的整数既不是质数也不是合数)题目:代码:朴素做法:O(n)超时#include<iostream>#include<algorithm>using namespace std;bool is_prime(int n){ if(n<2) return false; for(int i=2;i<n;i++){ if(n%原创 2022-02-17 15:34:58 · 286 阅读 · 0 评论