数学专题(1)、基础数论


好久没更博客,今天更一发数论。题目和表述部分来自数一小姐姐,还望不要打我233333

数论是数学的一个重要分支,主要研究的是整数的性质。今天讲一下数论里面比较重要的几个东西。

1、素数筛;

2、欧拉函数与欧拉定理;

3、快速幂;

4、米勒罗宾、rho、费马小定理等一系列balabala的定理。

关于数论有一些基本概念在此就不强调了,如GCD,LCM,同余,欧几里得算法等,如不清楚可以先去了解一下。

素数筛


素数,在数论界的地位就好比心脏之于人体的地位。所以如何快速高效地检索出素数是一个比较重要的问题。

复杂度为O(n²),或者可以降到O(n√n)的朴素筛就不说了。O(nlogn)的埃拉托斯特尼筛的原理也比较简单,

即把所有素数的整数倍全部筛去。这里稍微提一下线性筛,又叫欧拉筛。

欧拉筛

埃氏筛的缺点在于它依旧有可能把已经筛过的某个数字重复筛一遍。而欧拉筛则保证了每个合数只会被它的最小素因子筛掉。例如12会被2筛掉,当枚举到3的时候,由于12%3==0,就可以break,这样就避免被重复筛过一遍了。那么这么强大的线性筛只是用来筛筛素数?显然不可能。它的最大的一个用途是用来求解积性函数。

积性函数

什么是积性函数?满足a,b互质,且f(a*b)=f(a)*f(b)的函数即为积性函数。而比较重要的积性函数就是接下来要讲的欧拉函数。


欧拉函数


对于正整数n,欧拉函数φ(n)指的是小于等于n且与n互质的整数的个数。特别地,φ(1)=1。


在数论中,Euler函数φ(n)的定义为模n的所有既约同余类的个数。

它可以用作算数基本定理,中国剩余定理等理论的应用。

这儿以HDU1370为例,讲解一下中国剩余定理。

一个人有体力,感情,智商三个周期,周期分别为23天,28天,33天,然后告诉你某一次三者达到顶峰的是哪一天,问下一次三者达到顶峰的日子。

这道题目抽象成数学问题就是读入p,e,i,d 4个整数,已知(n+d)%23=p;   (n+d)%28=e;   (n+d)%33=i ,求n


如果我们把它写成同余方程的形式,则是:

n+d≡p mod 23

n+d≡e mod 28

n+d≡i mod 33


我们可以看到gcd(23,28,33)=1,所以能够使用中国剩余定理。


接着我们分别求一下23*28,23*33,28*33的逆元,分别为2,19,6。这里可以使用费马小定理或者扩展欧几里得求逆元。


然后答案就是n=(6*28*33*p+19*23*33*e+2*23*28*i-d)%lcm(23,28,33).


为了取正,最后答案n=(n+lcm(23,28,33))%lcm(23,28,33)即可。

欧拉函数还有许多妙用,我们之后再讲。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值