随笔分类 -  数论

摘要:举个栗子大家应该就能懂了: 我现在生成了1~5的全排列,求数列5 2 3 1 4是第几个 5:有四个数比他小,他后面还有4个数,所以他的贡献应该是4*4! 2:有一个数比他小,他后面还有3个数,所以他的贡献应该是1*3! 3:有两个数比他小,他后面还有两个数,但是其中2在前面出现过了,所以他的贡献应 阅读全文
posted @ 2020-10-01 11:04 小又又 阅读(112) 评论(1) 推荐(0)
摘要:1、exgcd推导: $b$*$x$=1($mod{p}$) $\rightarrow$$b$*$x$+$p$*$y$=1 代码: 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 using namespace s 阅读全文
posted @ 2020-09-11 09:34 小又又 阅读(376) 评论(1) 推荐(0)
摘要:*传送 在做这道题之前,先了解一下欧拉筛:欧拉筛法的基本思想 :在埃氏筛法的基础上(埃式筛法讲解可以阅读筛法--求1到100以内的素数),让每个合数只被它的最小质因子筛选一次,以达到不重复的目的。 代码: 1 int prime[maxn]; 2 int visit[maxn]; 3 void Pr 阅读全文
posted @ 2020-03-02 13:11 小又又 阅读(186) 评论(1) 推荐(0)
摘要:1.gcd的两种求法: 一、更相减损法 两个正整数$a$和$b$($a>b$),它们的最大公约数等于$a-b$的差值$c$和较小数$b$的最大公约数。 1 int gcd(int a,int b) 2 { 3 if(a==b) 4 return a; 5 if(a>b) 6 return gcd(a 阅读全文
posted @ 2020-03-01 13:20 小又又 阅读(311) 评论(0) 推荐(0)
摘要:1 #include <cstdio> 2 #include<iostream> 3 #include <algorithm> 4 #include <cmath> 5 using namespace std; 6 #define ll long long 7 ll n; 8 ll B; 9 ll 阅读全文
posted @ 2020-02-05 11:50 小又又 阅读(140) 评论(0) 推荐(1)
摘要:用筛法求出100以内的全部素数,并按每行五个数显示 我们知道一个合数可以分解了几个质数想乘,从2开始知道根号下n每次判断一个数是否为素数,如果为素数,就把所有能被这个数整除的数排除,即不是素数。 首先是一个判断素数的函数 1 bool sushu(int x) 2 { 3 if (x==2) 4 r 阅读全文
posted @ 2019-12-05 20:14 小又又 阅读(1938) 评论(0) 推荐(0)